Re: [PATCH 16/21] toshiba_bluetooth: Use struct dev_pm_ops for power management

Vikram Dhillon
2012-06-24T12:40:02Z

On Sat, Jun 23, 2012 at 5:18 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> From: Rafael J. Wysocki <rjw@sisk.pl>
>
> Make the toshiba_bluetooth driver define its PM callbacks through
> a struct dev_pm_ops object rather than by using legacy PM hooks
> in struct acpi_device_ops.
>
> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
> ---
>  drivers/platform/x86/toshiba_bluetooth.c |   10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> Index: linux/drivers/platform/x86/toshiba_bluetooth.c
> ===================================================================
> --- linux.orig/drivers/platform/x86/toshiba_bluetooth.c
> +++ linux/drivers/platform/x86/toshiba_bluetooth.c
> @@ -34,7 +34,6 @@ MODULE_LICENSE("GPL");
>  static int toshiba_bt_rfkill_add(struct acpi_device *device);
>  static int toshiba_bt_rfkill_remove(struct acpi_device *device, int type);
>  static void toshiba_bt_rfkill_notify(struct acpi_device *device, u32 event);
> -static int toshiba_bt_resume(struct acpi_device *device);
>
>  static const struct acpi_device_id bt_device_ids[] = {
>        { "TOS6205", 0},
> @@ -42,6 +41,9 @@ static const struct acpi_device_id bt_de
>  };
>  MODULE_DEVICE_TABLE(acpi, bt_device_ids);
>
> +static int toshiba_bt_resume(struct device *dev);
> +static SIMPLE_DEV_PM_OPS(toshiba_bt_pm, NULL, toshiba_bt_resume);
> +
>  static struct acpi_driver toshiba_bt_rfkill_driver = {
>        .name =         "Toshiba BT",
>        .class =        "Toshiba",
> @@ -50,9 +52,9 @@ static struct acpi_driver toshiba_bt_rfk
>                                .add =          toshiba_bt_rfkill_add,
>                                .remove =       toshiba_bt_rfkill_remove,
>                                .notify =       toshiba_bt_rfkill_notify,
> -                               .resume =       toshiba_bt_resume,
>                        },
>        .owner =        THIS_MODULE,
> +       .drv.pm =       &toshiba_bt_pm,
>  };
>
>
> @@ -88,9 +90,9 @@ static void toshiba_bt_rfkill_notify(str
>        toshiba_bluetooth_enable(device->handle);
>  }
>
> -static int toshiba_bt_resume(struct acpi_device *device)
> +static int toshiba_bt_resume(struct device *dev)
>  {
> -       return toshiba_bluetooth_enable(device->handle);
> +       return toshiba_bluetooth_enable(to_acpi_device(dev)->handle);
>  }
>
>  static int toshiba_bt_rfkill_add(struct acpi_device *device)
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

Looks good, will look into the other struct patch (#11) tomorrow.

Reviewed-by: Vikram Dhillon <opensolarisdev@gmail.com>