[PATCH 1/5] ibmebus: convert of_platform_driver to platform_driver

Rob Herring robherring2 at gmail.com
Fri Apr 26 01:23:38 EST 2013


On Sun, Apr 21, 2013 at 9:13 PM, Rob Herring <robherring2 at gmail.com> wrote:
> From: Rob Herring <rob.herring at calxeda.com>
>
> ibmebus is the last remaining user of of_platform_driver and the
> conversion to a regular platform driver is trivial.
>
> Signed-off-by: Rob Herring <rob.herring at calxeda.com>
> Cc: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> Cc: Paul Mackerras <paulus at samba.org>
> Cc: Hoang-Nam Nguyen <hnguyen at de.ibm.com>
> Cc: Christoph Raisch <raisch at de.ibm.com>
> Cc: Roland Dreier <roland at kernel.org>
> Cc: Sean Hefty <sean.hefty at intel.com>
> Cc: Hal Rosenstock <hal.rosenstock at gmail.com>
> Cc: Thadeu Lima de Souza Cascardo <cascardo at linux.vnet.ibm.com>
> Cc: Grant Likely <grant.likely at linaro.org>
> Cc: linuxppc-dev at lists.ozlabs.org
> Cc: linux-rdma at vger.kernel.org
> Cc: netdev at vger.kernel.org

Ben, Can I have your Ack for this? The change is straightforward and
neither of the 2 drivers used the id parameter that is removed.

Rob

> ---
>  arch/powerpc/include/asm/ibmebus.h        |    4 ++--
>  arch/powerpc/kernel/ibmebus.c             |   22 ++++++++++------------
>  drivers/infiniband/hw/ehca/ehca_main.c    |    5 ++---
>  drivers/net/ethernet/ibm/ehea/ehea_main.c |    8 +++-----
>  4 files changed, 17 insertions(+), 22 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/ibmebus.h b/arch/powerpc/include/asm/ibmebus.h
> index 1a9d9ae..088f95b 100644
> --- a/arch/powerpc/include/asm/ibmebus.h
> +++ b/arch/powerpc/include/asm/ibmebus.h
> @@ -48,8 +48,8 @@
>
>  extern struct bus_type ibmebus_bus_type;
>
> -int ibmebus_register_driver(struct of_platform_driver *drv);
> -void ibmebus_unregister_driver(struct of_platform_driver *drv);
> +int ibmebus_register_driver(struct platform_driver *drv);
> +void ibmebus_unregister_driver(struct platform_driver *drv);
>
>  int ibmebus_request_irq(u32 ist, irq_handler_t handler,
>                         unsigned long irq_flags, const char *devname,
> diff --git a/arch/powerpc/kernel/ibmebus.c b/arch/powerpc/kernel/ibmebus.c
> index 8220baa..16a7c23 100644
> --- a/arch/powerpc/kernel/ibmebus.c
> +++ b/arch/powerpc/kernel/ibmebus.c
> @@ -205,7 +205,7 @@ static int ibmebus_create_devices(const struct of_device_id *matches)
>         return ret;
>  }
>
> -int ibmebus_register_driver(struct of_platform_driver *drv)
> +int ibmebus_register_driver(struct platform_driver *drv)
>  {
>         /* If the driver uses devices that ibmebus doesn't know, add them */
>         ibmebus_create_devices(drv->driver.of_match_table);
> @@ -215,7 +215,7 @@ int ibmebus_register_driver(struct of_platform_driver *drv)
>  }
>  EXPORT_SYMBOL(ibmebus_register_driver);
>
> -void ibmebus_unregister_driver(struct of_platform_driver *drv)
> +void ibmebus_unregister_driver(struct platform_driver *drv)
>  {
>         driver_unregister(&drv->driver);
>  }
> @@ -338,11 +338,10 @@ static int ibmebus_bus_bus_match(struct device *dev, struct device_driver *drv)
>  static int ibmebus_bus_device_probe(struct device *dev)
>  {
>         int error = -ENODEV;
> -       struct of_platform_driver *drv;
> +       struct platform_driver *drv;
>         struct platform_device *of_dev;
> -       const struct of_device_id *match;
>
> -       drv = to_of_platform_driver(dev->driver);
> +       drv = to_platform_driver(dev->driver);
>         of_dev = to_platform_device(dev);
>
>         if (!drv->probe)
> @@ -350,9 +349,8 @@ static int ibmebus_bus_device_probe(struct device *dev)
>
>         of_dev_get(of_dev);
>
> -       match = of_match_device(drv->driver.of_match_table, dev);
> -       if (match)
> -               error = drv->probe(of_dev, match);
> +       if (of_driver_match_device(dev, dev->driver))
> +               error = drv->probe(of_dev);
>         if (error)
>                 of_dev_put(of_dev);
>
> @@ -362,7 +360,7 @@ static int ibmebus_bus_device_probe(struct device *dev)
>  static int ibmebus_bus_device_remove(struct device *dev)
>  {
>         struct platform_device *of_dev = to_platform_device(dev);
> -       struct of_platform_driver *drv = to_of_platform_driver(dev->driver);
> +       struct platform_driver *drv = to_platform_driver(dev->driver);
>
>         if (dev->driver && drv->remove)
>                 drv->remove(of_dev);
> @@ -372,7 +370,7 @@ static int ibmebus_bus_device_remove(struct device *dev)
>  static void ibmebus_bus_device_shutdown(struct device *dev)
>  {
>         struct platform_device *of_dev = to_platform_device(dev);
> -       struct of_platform_driver *drv = to_of_platform_driver(dev->driver);
> +       struct platform_driver *drv = to_platform_driver(dev->driver);
>
>         if (dev->driver && drv->shutdown)
>                 drv->shutdown(of_dev);
> @@ -419,7 +417,7 @@ struct device_attribute ibmebus_bus_device_attrs[] = {
>  static int ibmebus_bus_legacy_suspend(struct device *dev, pm_message_t mesg)
>  {
>         struct platform_device *of_dev = to_platform_device(dev);
> -       struct of_platform_driver *drv = to_of_platform_driver(dev->driver);
> +       struct platform_driver *drv = to_platform_driver(dev->driver);
>         int ret = 0;
>
>         if (dev->driver && drv->suspend)
> @@ -430,7 +428,7 @@ static int ibmebus_bus_legacy_suspend(struct device *dev, pm_message_t mesg)
>  static int ibmebus_bus_legacy_resume(struct device *dev)
>  {
>         struct platform_device *of_dev = to_platform_device(dev);
> -       struct of_platform_driver *drv = to_of_platform_driver(dev->driver);
> +       struct platform_driver *drv = to_platform_driver(dev->driver);
>         int ret = 0;
>
>         if (dev->driver && drv->resume)
> diff --git a/drivers/infiniband/hw/ehca/ehca_main.c b/drivers/infiniband/hw/ehca/ehca_main.c
> index f8a6291..982e3ef 100644
> --- a/drivers/infiniband/hw/ehca/ehca_main.c
> +++ b/drivers/infiniband/hw/ehca/ehca_main.c
> @@ -713,8 +713,7 @@ static struct attribute_group ehca_dev_attr_grp = {
>         .attrs = ehca_dev_attrs
>  };
>
> -static int ehca_probe(struct platform_device *dev,
> -                     const struct of_device_id *id)
> +static int ehca_probe(struct platform_device *dev)
>  {
>         struct ehca_shca *shca;
>         const u64 *handle;
> @@ -937,7 +936,7 @@ static struct of_device_id ehca_device_table[] =
>  };
>  MODULE_DEVICE_TABLE(of, ehca_device_table);
>
> -static struct of_platform_driver ehca_driver = {
> +static struct platform_driver ehca_driver = {
>         .probe       = ehca_probe,
>         .remove      = ehca_remove,
>         .driver = {
> diff --git a/drivers/net/ethernet/ibm/ehea/ehea_main.c b/drivers/net/ethernet/ibm/ehea/ehea_main.c
> index 328f47c..c6ecf70 100644
> --- a/drivers/net/ethernet/ibm/ehea/ehea_main.c
> +++ b/drivers/net/ethernet/ibm/ehea/ehea_main.c
> @@ -98,8 +98,7 @@ static struct ehea_fw_handle_array ehea_fw_handles;
>  static struct ehea_bcmc_reg_array ehea_bcmc_regs;
>
>
> -static int ehea_probe_adapter(struct platform_device *dev,
> -                             const struct of_device_id *id);
> +static int ehea_probe_adapter(struct platform_device *dev);
>
>  static int ehea_remove(struct platform_device *dev);
>
> @@ -112,7 +111,7 @@ static struct of_device_id ehea_device_table[] = {
>  };
>  MODULE_DEVICE_TABLE(of, ehea_device_table);
>
> -static struct of_platform_driver ehea_driver = {
> +static struct platform_driver ehea_driver = {
>         .driver = {
>                 .name = "ehea",
>                 .owner = THIS_MODULE,
> @@ -3255,8 +3254,7 @@ static void ehea_remove_device_sysfs(struct platform_device *dev)
>         device_remove_file(&dev->dev, &dev_attr_remove_port);
>  }
>
> -static int ehea_probe_adapter(struct platform_device *dev,
> -                             const struct of_device_id *id)
> +static int ehea_probe_adapter(struct platform_device *dev)
>  {
>         struct ehea_adapter *adapter;
>         const u64 *adapter_handle;
> --
> 1.7.10.4
>


More information about the devicetree-discuss mailing list