Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6
* 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6: (63 commits) of/platform: Register of_platform_drivers with an "of:" prefix of/address: Clean up function declarations of/spi: call of_register_spi_devices() from spi core code of: Provide default of_node_to_nid() implementation. of/device: Make of_device_make_bus_id() usable by other code. of/irq: Fix endian issues in parsing interrupt specifiers of: Fix phandle endian issues of/flattree: fix of_flat_dt_is_compatible() to match the full compatible string of: remove of_default_bus_ids of: make of_find_device_by_node generic microblaze: remove references to of_device and to_of_device sparc: remove references to of_device and to_of_device powerpc: remove references to of_device and to_of_device of/device: Replace of_device with platform_device in includes and core code of/device: Protect against binding of_platform_drivers to non-OF devices of: remove asm/of_device.h of: remove asm/of_platform.h of/platform: remove all of_bus_type and of_platform_bus_type references of: Merge of_platform_bus_type with platform_bus_type drivercore/of: Add OF style matching to platform bus ... Fix up trivial conflicts in arch/microblaze/kernel/Makefile due to just some obj-y removals by the devicetree branch, while the microblaze updates added a new file.
This commit is contained in:
@@ -60,7 +60,7 @@
|
||||
static int azfs_major, azfs_minor;
|
||||
|
||||
struct axon_ram_bank {
|
||||
struct of_device *device;
|
||||
struct platform_device *device;
|
||||
struct gendisk *disk;
|
||||
unsigned int irq_id;
|
||||
unsigned long ph_addr;
|
||||
@@ -72,7 +72,7 @@ struct axon_ram_bank {
|
||||
static ssize_t
|
||||
axon_ram_sysfs_ecc(struct device *dev, struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct of_device *device = to_of_device(dev);
|
||||
struct platform_device *device = to_platform_device(dev);
|
||||
struct axon_ram_bank *bank = device->dev.platform_data;
|
||||
|
||||
BUG_ON(!bank);
|
||||
@@ -90,7 +90,7 @@ static DEVICE_ATTR(ecc, S_IRUGO, axon_ram_sysfs_ecc, NULL);
|
||||
static irqreturn_t
|
||||
axon_ram_irq_handler(int irq, void *dev)
|
||||
{
|
||||
struct of_device *device = dev;
|
||||
struct platform_device *device = dev;
|
||||
struct axon_ram_bank *bank = device->dev.platform_data;
|
||||
|
||||
BUG_ON(!bank);
|
||||
@@ -174,8 +174,8 @@ static const struct block_device_operations axon_ram_devops = {
|
||||
* axon_ram_probe - probe() method for platform driver
|
||||
* @device, @device_id: see of_platform_driver method
|
||||
*/
|
||||
static int
|
||||
axon_ram_probe(struct of_device *device, const struct of_device_id *device_id)
|
||||
static int axon_ram_probe(struct platform_device *device,
|
||||
const struct of_device_id *device_id)
|
||||
{
|
||||
static int axon_ram_bank_id = -1;
|
||||
struct axon_ram_bank *bank;
|
||||
@@ -304,7 +304,7 @@ failed:
|
||||
* @device: see of_platform_driver method
|
||||
*/
|
||||
static int
|
||||
axon_ram_remove(struct of_device *device)
|
||||
axon_ram_remove(struct platform_device *device)
|
||||
{
|
||||
struct axon_ram_bank *bank = device->dev.platform_data;
|
||||
|
||||
|
@@ -365,8 +365,8 @@ bcom_engine_cleanup(void)
|
||||
/* OF platform driver */
|
||||
/* ======================================================================== */
|
||||
|
||||
static int __devinit
|
||||
mpc52xx_bcom_probe(struct of_device *op, const struct of_device_id *match)
|
||||
static int __devinit mpc52xx_bcom_probe(struct platform_device *op,
|
||||
const struct of_device_id *match)
|
||||
{
|
||||
struct device_node *ofn_sram;
|
||||
struct resource res_bcom;
|
||||
@@ -461,8 +461,7 @@ error_ofput:
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
mpc52xx_bcom_remove(struct of_device *op)
|
||||
static int mpc52xx_bcom_remove(struct platform_device *op)
|
||||
{
|
||||
/* Clean up the engine */
|
||||
bcom_engine_cleanup();
|
||||
|
@@ -11,6 +11,7 @@
|
||||
* kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#include <linux/err.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/slab.h>
|
||||
|
@@ -621,7 +621,6 @@ int cpm1_gpiochip_add16(struct device_node *np)
|
||||
{
|
||||
struct cpm1_gpio16_chip *cpm1_gc;
|
||||
struct of_mm_gpio_chip *mm_gc;
|
||||
struct of_gpio_chip *of_gc;
|
||||
struct gpio_chip *gc;
|
||||
|
||||
cpm1_gc = kzalloc(sizeof(*cpm1_gc), GFP_KERNEL);
|
||||
@@ -631,11 +630,9 @@ int cpm1_gpiochip_add16(struct device_node *np)
|
||||
spin_lock_init(&cpm1_gc->lock);
|
||||
|
||||
mm_gc = &cpm1_gc->mm_gc;
|
||||
of_gc = &mm_gc->of_gc;
|
||||
gc = &of_gc->gc;
|
||||
gc = &mm_gc->gc;
|
||||
|
||||
mm_gc->save_regs = cpm1_gpio16_save_regs;
|
||||
of_gc->gpio_cells = 2;
|
||||
gc->ngpio = 16;
|
||||
gc->direction_input = cpm1_gpio16_dir_in;
|
||||
gc->direction_output = cpm1_gpio16_dir_out;
|
||||
@@ -745,7 +742,6 @@ int cpm1_gpiochip_add32(struct device_node *np)
|
||||
{
|
||||
struct cpm1_gpio32_chip *cpm1_gc;
|
||||
struct of_mm_gpio_chip *mm_gc;
|
||||
struct of_gpio_chip *of_gc;
|
||||
struct gpio_chip *gc;
|
||||
|
||||
cpm1_gc = kzalloc(sizeof(*cpm1_gc), GFP_KERNEL);
|
||||
@@ -755,11 +751,9 @@ int cpm1_gpiochip_add32(struct device_node *np)
|
||||
spin_lock_init(&cpm1_gc->lock);
|
||||
|
||||
mm_gc = &cpm1_gc->mm_gc;
|
||||
of_gc = &mm_gc->of_gc;
|
||||
gc = &of_gc->gc;
|
||||
gc = &mm_gc->gc;
|
||||
|
||||
mm_gc->save_regs = cpm1_gpio32_save_regs;
|
||||
of_gc->gpio_cells = 2;
|
||||
gc->ngpio = 32;
|
||||
gc->direction_input = cpm1_gpio32_dir_in;
|
||||
gc->direction_output = cpm1_gpio32_dir_out;
|
||||
|
@@ -325,7 +325,6 @@ int cpm2_gpiochip_add32(struct device_node *np)
|
||||
{
|
||||
struct cpm2_gpio32_chip *cpm2_gc;
|
||||
struct of_mm_gpio_chip *mm_gc;
|
||||
struct of_gpio_chip *of_gc;
|
||||
struct gpio_chip *gc;
|
||||
|
||||
cpm2_gc = kzalloc(sizeof(*cpm2_gc), GFP_KERNEL);
|
||||
@@ -335,11 +334,9 @@ int cpm2_gpiochip_add32(struct device_node *np)
|
||||
spin_lock_init(&cpm2_gc->lock);
|
||||
|
||||
mm_gc = &cpm2_gc->mm_gc;
|
||||
of_gc = &mm_gc->of_gc;
|
||||
gc = &of_gc->gc;
|
||||
gc = &mm_gc->gc;
|
||||
|
||||
mm_gc->save_regs = cpm2_gpio32_save_regs;
|
||||
of_gc->gpio_cells = 2;
|
||||
gc->ngpio = 32;
|
||||
gc->direction_input = cpm2_gpio32_dir_in;
|
||||
gc->direction_output = cpm2_gpio32_dir_out;
|
||||
|
@@ -14,6 +14,7 @@
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/io.h>
|
||||
|
@@ -250,7 +250,7 @@ unlock:
|
||||
raw_spin_unlock(&desc->lock);
|
||||
}
|
||||
|
||||
static int fsl_of_msi_remove(struct of_device *ofdev)
|
||||
static int fsl_of_msi_remove(struct platform_device *ofdev)
|
||||
{
|
||||
struct fsl_msi *msi = ofdev->dev.platform_data;
|
||||
int virq, i;
|
||||
@@ -274,7 +274,7 @@ static int fsl_of_msi_remove(struct of_device *ofdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __devinit fsl_of_msi_probe(struct of_device *dev,
|
||||
static int __devinit fsl_of_msi_probe(struct platform_device *dev,
|
||||
const struct of_device_id *match)
|
||||
{
|
||||
struct fsl_msi *msi;
|
||||
|
@@ -58,7 +58,8 @@ static struct platform_suspend_ops pmc_suspend_ops = {
|
||||
.enter = pmc_suspend_enter,
|
||||
};
|
||||
|
||||
static int pmc_probe(struct of_device *ofdev, const struct of_device_id *id)
|
||||
static int pmc_probe(struct platform_device *ofdev,
|
||||
const struct of_device_id *id)
|
||||
{
|
||||
pmc_regs = of_iomap(ofdev->dev.of_node, 0);
|
||||
if (!pmc_regs)
|
||||
|
@@ -1338,7 +1338,7 @@ static inline void fsl_rio_info(struct device *dev, u32 ccsr)
|
||||
* master port with system-specific info, and registers the
|
||||
* master port with the RapidIO subsystem.
|
||||
*/
|
||||
int fsl_rio_setup(struct of_device *dev)
|
||||
int fsl_rio_setup(struct platform_device *dev)
|
||||
{
|
||||
struct rio_ops *ops;
|
||||
struct rio_mport *port;
|
||||
@@ -1536,7 +1536,7 @@ err_ops:
|
||||
|
||||
/* The probe function for RapidIO peer-to-peer network.
|
||||
*/
|
||||
static int __devinit fsl_of_rio_rpn_probe(struct of_device *dev,
|
||||
static int __devinit fsl_of_rio_rpn_probe(struct platform_device *dev,
|
||||
const struct of_device_id *match)
|
||||
{
|
||||
int rc;
|
||||
|
@@ -257,7 +257,6 @@ static void __init mpc8xxx_add_controller(struct device_node *np)
|
||||
{
|
||||
struct mpc8xxx_gpio_chip *mpc8xxx_gc;
|
||||
struct of_mm_gpio_chip *mm_gc;
|
||||
struct of_gpio_chip *of_gc;
|
||||
struct gpio_chip *gc;
|
||||
unsigned hwirq;
|
||||
int ret;
|
||||
@@ -271,11 +270,9 @@ static void __init mpc8xxx_add_controller(struct device_node *np)
|
||||
spin_lock_init(&mpc8xxx_gc->lock);
|
||||
|
||||
mm_gc = &mpc8xxx_gc->mm_gc;
|
||||
of_gc = &mm_gc->of_gc;
|
||||
gc = &of_gc->gc;
|
||||
gc = &mm_gc->gc;
|
||||
|
||||
mm_gc->save_regs = mpc8xxx_gpio_save_regs;
|
||||
of_gc->gpio_cells = 2;
|
||||
gc->ngpio = MPC8XXX_GPIO_PINS;
|
||||
gc->direction_input = mpc8xxx_gpio_dir_in;
|
||||
gc->direction_output = mpc8xxx_gpio_dir_out;
|
||||
|
@@ -20,12 +20,7 @@
|
||||
|
||||
#include <asm/prom.h>
|
||||
|
||||
/*
|
||||
* These functions provide the necessary setup for the mv64x60 drivers.
|
||||
* These drivers are unusual in that they work on both the MIPS and PowerPC
|
||||
* architectures. Because of that, the drivers do not support the normal
|
||||
* PowerPC of_platform_bus_type. They support platform_bus_type instead.
|
||||
*/
|
||||
/* These functions provide the necessary setup for the mv64x60 drivers. */
|
||||
|
||||
static struct of_device_id __initdata of_mv64x60_devices[] = {
|
||||
{ .compatible = "marvell,mv64306-devctrl", },
|
||||
|
@@ -43,7 +43,7 @@ struct pmi_data {
|
||||
struct mutex msg_mutex;
|
||||
pmi_message_t msg;
|
||||
struct completion *completion;
|
||||
struct of_device *dev;
|
||||
struct platform_device *dev;
|
||||
int irq;
|
||||
u8 __iomem *pmi_reg;
|
||||
struct work_struct work;
|
||||
@@ -121,7 +121,7 @@ static void pmi_notify_handlers(struct work_struct *work)
|
||||
spin_unlock(&data->handler_spinlock);
|
||||
}
|
||||
|
||||
static int pmi_of_probe(struct of_device *dev,
|
||||
static int pmi_of_probe(struct platform_device *dev,
|
||||
const struct of_device_id *match)
|
||||
{
|
||||
struct device_node *np = dev->dev.of_node;
|
||||
@@ -185,7 +185,7 @@ out:
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int pmi_of_remove(struct of_device *dev)
|
||||
static int pmi_of_remove(struct platform_device *dev)
|
||||
{
|
||||
struct pmi_handler *handler, *tmp;
|
||||
|
||||
|
@@ -181,7 +181,6 @@ static int __init ppc4xx_add_gpiochips(void)
|
||||
int ret;
|
||||
struct ppc4xx_gpio_chip *ppc4xx_gc;
|
||||
struct of_mm_gpio_chip *mm_gc;
|
||||
struct of_gpio_chip *of_gc;
|
||||
struct gpio_chip *gc;
|
||||
|
||||
ppc4xx_gc = kzalloc(sizeof(*ppc4xx_gc), GFP_KERNEL);
|
||||
@@ -193,10 +192,8 @@ static int __init ppc4xx_add_gpiochips(void)
|
||||
spin_lock_init(&ppc4xx_gc->lock);
|
||||
|
||||
mm_gc = &ppc4xx_gc->mm_gc;
|
||||
of_gc = &mm_gc->of_gc;
|
||||
gc = &of_gc->gc;
|
||||
gc = &mm_gc->gc;
|
||||
|
||||
of_gc->gpio_cells = 2;
|
||||
gc->ngpio = 32;
|
||||
gc->direction_input = ppc4xx_gpio_dir_in;
|
||||
gc->direction_output = ppc4xx_gpio_dir_out;
|
||||
|
@@ -138,8 +138,8 @@ struct qe_pin {
|
||||
struct qe_pin *qe_pin_request(struct device_node *np, int index)
|
||||
{
|
||||
struct qe_pin *qe_pin;
|
||||
struct device_node *gc;
|
||||
struct of_gpio_chip *of_gc = NULL;
|
||||
struct device_node *gpio_np;
|
||||
struct gpio_chip *gc;
|
||||
struct of_mm_gpio_chip *mm_gc;
|
||||
struct qe_gpio_chip *qe_gc;
|
||||
int err;
|
||||
@@ -155,40 +155,40 @@ struct qe_pin *qe_pin_request(struct device_node *np, int index)
|
||||
}
|
||||
|
||||
err = of_parse_phandles_with_args(np, "gpios", "#gpio-cells", index,
|
||||
&gc, &gpio_spec);
|
||||
&gpio_np, &gpio_spec);
|
||||
if (err) {
|
||||
pr_debug("%s: can't parse gpios property\n", __func__);
|
||||
goto err0;
|
||||
}
|
||||
|
||||
if (!of_device_is_compatible(gc, "fsl,mpc8323-qe-pario-bank")) {
|
||||
if (!of_device_is_compatible(gpio_np, "fsl,mpc8323-qe-pario-bank")) {
|
||||
pr_debug("%s: tried to get a non-qe pin\n", __func__);
|
||||
err = -EINVAL;
|
||||
goto err1;
|
||||
}
|
||||
|
||||
of_gc = gc->data;
|
||||
if (!of_gc) {
|
||||
gc = of_node_to_gpiochip(gpio_np);
|
||||
if (!gc) {
|
||||
pr_debug("%s: gpio controller %s isn't registered\n",
|
||||
np->full_name, gc->full_name);
|
||||
np->full_name, gpio_np->full_name);
|
||||
err = -ENODEV;
|
||||
goto err1;
|
||||
}
|
||||
|
||||
gpio_cells = of_get_property(gc, "#gpio-cells", &size);
|
||||
gpio_cells = of_get_property(gpio_np, "#gpio-cells", &size);
|
||||
if (!gpio_cells || size != sizeof(*gpio_cells) ||
|
||||
*gpio_cells != of_gc->gpio_cells) {
|
||||
*gpio_cells != gc->of_gpio_n_cells) {
|
||||
pr_debug("%s: wrong #gpio-cells for %s\n",
|
||||
np->full_name, gc->full_name);
|
||||
np->full_name, gpio_np->full_name);
|
||||
err = -EINVAL;
|
||||
goto err1;
|
||||
}
|
||||
|
||||
err = of_gc->xlate(of_gc, np, gpio_spec, NULL);
|
||||
err = gc->of_xlate(gc, np, gpio_spec, NULL);
|
||||
if (err < 0)
|
||||
goto err1;
|
||||
|
||||
mm_gc = to_of_mm_gpio_chip(&of_gc->gc);
|
||||
mm_gc = to_of_mm_gpio_chip(gc);
|
||||
qe_gc = to_qe_gpio_chip(mm_gc);
|
||||
|
||||
spin_lock_irqsave(&qe_gc->lock, flags);
|
||||
@@ -206,7 +206,7 @@ struct qe_pin *qe_pin_request(struct device_node *np, int index)
|
||||
if (!err)
|
||||
return qe_pin;
|
||||
err1:
|
||||
of_node_put(gc);
|
||||
of_node_put(gpio_np);
|
||||
err0:
|
||||
kfree(qe_pin);
|
||||
pr_debug("%s failed with status %d\n", __func__, err);
|
||||
@@ -307,7 +307,6 @@ static int __init qe_add_gpiochips(void)
|
||||
int ret;
|
||||
struct qe_gpio_chip *qe_gc;
|
||||
struct of_mm_gpio_chip *mm_gc;
|
||||
struct of_gpio_chip *of_gc;
|
||||
struct gpio_chip *gc;
|
||||
|
||||
qe_gc = kzalloc(sizeof(*qe_gc), GFP_KERNEL);
|
||||
@@ -319,11 +318,9 @@ static int __init qe_add_gpiochips(void)
|
||||
spin_lock_init(&qe_gc->lock);
|
||||
|
||||
mm_gc = &qe_gc->mm_gc;
|
||||
of_gc = &mm_gc->of_gc;
|
||||
gc = &of_gc->gc;
|
||||
gc = &mm_gc->gc;
|
||||
|
||||
mm_gc->save_regs = qe_gpio_save_regs;
|
||||
of_gc->gpio_cells = 2;
|
||||
gc->ngpio = QE_PIO_PINS;
|
||||
gc->direction_input = qe_gpio_dir_in;
|
||||
gc->direction_output = qe_gpio_dir_out;
|
||||
|
@@ -651,14 +651,15 @@ unsigned int qe_get_num_of_snums(void)
|
||||
EXPORT_SYMBOL(qe_get_num_of_snums);
|
||||
|
||||
#if defined(CONFIG_SUSPEND) && defined(CONFIG_PPC_85xx)
|
||||
static int qe_resume(struct of_device *ofdev)
|
||||
static int qe_resume(struct platform_device *ofdev)
|
||||
{
|
||||
if (!qe_alive_during_sleep())
|
||||
qe_reset();
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int qe_probe(struct of_device *ofdev, const struct of_device_id *id)
|
||||
static int qe_probe(struct platform_device *ofdev,
|
||||
const struct of_device_id *id)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
@@ -91,7 +91,6 @@ static int __init u8_simple_gpiochip_add(struct device_node *np)
|
||||
int ret;
|
||||
struct u8_gpio_chip *u8_gc;
|
||||
struct of_mm_gpio_chip *mm_gc;
|
||||
struct of_gpio_chip *of_gc;
|
||||
struct gpio_chip *gc;
|
||||
|
||||
u8_gc = kzalloc(sizeof(*u8_gc), GFP_KERNEL);
|
||||
@@ -101,11 +100,9 @@ static int __init u8_simple_gpiochip_add(struct device_node *np)
|
||||
spin_lock_init(&u8_gc->lock);
|
||||
|
||||
mm_gc = &u8_gc->mm_gc;
|
||||
of_gc = &mm_gc->of_gc;
|
||||
gc = &of_gc->gc;
|
||||
gc = &mm_gc->gc;
|
||||
|
||||
mm_gc->save_regs = u8_gpio_save_regs;
|
||||
of_gc->gpio_cells = 2;
|
||||
gc->ngpio = 8;
|
||||
gc->direction_input = u8_gpio_dir_in;
|
||||
gc->direction_output = u8_gpio_dir_out;
|
||||
|
Reference in New Issue
Block a user