RE: [PATCH V3 2/3] onkey: da9063: Add DA9062 OnKey capability to DA9063 OnKey driver

2015-09-15 Thread Opensource [Steve Twiss]
This is a resend of my previous e-mail sent just a couple of minutes ago -- 
this one removes the copyright footer that was added by our IT department

On 23 July 2015 17:18, Steve Twiss wrote:

> Subject: [PATCH V3 2/3] onkey: da9063: Add DA9062 OnKey capability to DA9063 
> OnKey driver
> 
> From: S Twiss 
> 
> Add DA9062 OnKey support into the existing DA9063 OnKey driver
> component by
> using generic access tables for common register and bit mask definitions.
> 
> The following change will add generic register and bit mask support to the
> DA9063 OnKey.
> 
> The following alterations have been made to the DA9063 OnKey:
> 
> - Addition of a da906x_chip_config structure to hold all
>   generic registers and bitmasks for this type of OnKey component.
> - Addition of an struct of_device_id table for DA9063 and DA9062
>   defaults
> - Refactoring functions to use struct da9063_onkey accesses to generic
>   registers/masks instead of using defines from registers.h
> - Re-work of da9063_onkey_probe() to use of_match_node() and
>   dev_get_regmap() to provide initialisation of generic registers and
>   masks and access to regmap
> 
> Signed-off-by: Steve Twiss 

Hi Dmitry,

One of my patches for the DA9062 OnKey (a modification to the DA9063 OnKey 
driver)
was sent a while ago but was waiting for the DA9062 MFD parts to make it into 
mainline.
Some previous conversations between you and Lee are here:

- https://lkml.org/lkml/2015/7/28/51
- https://lkml.org/lkml/2015/7/28/850

The MFD part and device tree part for the DA9062 OnKey are in the mainline 
v4.3-rc1
kernel now. Can I ask if there any barriers in the way for moving the DA9063 
OnKey
patch forward now please?

Regards,
Stephen

> ---
> Changes in V3:
>  - No change
> Changes in V2:
>  - Altered Kconfig to use the line "Dialog DA9062/63 OnKey"
>  - Rename of da9063_compatible_onkey_regmap to da906x_chip_config
>  - char *name changed to const char *name
>  - Rename struct da9063_compatible_onkey {} back to struct da9063_onkey
> 
> This patch applies against linux-next and next-20150708
> 
> 
>  drivers/input/misc/Kconfig|   8 +--
>  drivers/input/misc/da9063_onkey.c | 129
> ++
>  2 files changed, 108 insertions(+), 29 deletions(-)
> 
> diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
> index d4f0a81..2610cfa 100644
> --- a/drivers/input/misc/Kconfig
> +++ b/drivers/input/misc/Kconfig
> @@ -611,11 +611,11 @@ config INPUT_DA9055_ONKEY
> will be called da9055_onkey.
> 
>  config INPUT_DA9063_ONKEY
> - tristate "Dialog DA9063 OnKey"
> - depends on MFD_DA9063
> + tristate "Dialog DA9062/63 OnKey"
> + depends on MFD_DA9063 || MFD_DA9062
>   help
> -   Support the ONKEY of Dialog DA9063 Power Management IC as an
> -   input device reporting power button statue.
> +   Support the ONKEY of Dialog DA9063 and DA9062 Power
> Management ICs
> +   as an input device capable for reporting the power button status.
> 
> To compile this driver as a module, choose M here: the module
> will be called da9063_onkey.
> diff --git a/drivers/input/misc/da9063_onkey.c
> b/drivers/input/misc/da9063_onkey.c
> index f577585..8eb697d 100644
> --- a/drivers/input/misc/da9063_onkey.c
> +++ b/drivers/input/misc/da9063_onkey.c
> @@ -1,5 +1,5 @@
>  /*
> - * OnKey device driver for DA9063
> + * OnKey device driver for DA9063 and DA9062 PMICs
>   * Copyright (C) 2015  Dialog Semiconductor Ltd.
>   *
>   * This program is free software; you can redistribute it and/or
> @@ -24,36 +24,96 @@
>  #include 
>  #include 
>  #include 
> +#include 
> +#include 
> +
> +struct da906x_chip_config {
> + /* REGS */
> + int onkey_status;
> + int onkey_pwr_signalling;
> + int onkey_fault_log;
> + int onkey_shutdown;
> + /* MASKS */
> + int onkey_nonkey_mask;
> + int onkey_nonkey_lock_mask;
> + int onkey_key_reset_mask;
> + int onkey_shutdown_mask;
> + /* NAMES */
> + const char *name;
> +};
> 
>  struct da9063_onkey {
> - struct da9063 *hw;
>   struct delayed_work work;
>   struct input_dev *input;
>   struct device *dev;
> + struct regmap *regmap;
> + const struct da906x_chip_config *config;
> + char phys[32];
>   bool key_power;
>  };
> 
> +static const struct da906x_chip_config da9063_regs = {
> + /* REGS */
> + .onkey_status = DA9063_REG_STATUS_A,
> + .onkey_pwr_signalling = DA9063_REG_CONTROL_B,
> + .onkey_fault_log = DA9063_REG_FAULT_LOG,
> + .onkey_shutdown = DA9063_REG_CONTROL_F,
> + /* MASKS */
> + .onkey_nonkey_mask = DA9063_NONKEY,
> + .onkey_nonkey_lock_mask = DA9063_NONKEY_LOCK,
> + .onkey_key_reset_mask = DA9063_KEY_RESET,
> + .onkey_shutdown_mask = DA9063_SHUTDOWN,
> + /* NAMES */
> + .name = DA9063_DRVNAME_ONKEY,
> +};
> +
> +static const struct da906x_chip_config da9062_regs = {
> + /* REGS */
> + .onkey_status = DA9062AA_STATUS_A,

RE: [PATCH V3 2/3] onkey: da9063: Add DA9062 OnKey capability to DA9063 OnKey driver

2015-09-15 Thread Stephen Twiss
On 23 July 2015 17:18, Steve Twiss wrote:

> Subject: [PATCH V3 2/3] onkey: da9063: Add DA9062 OnKey capability to DA9063 
> OnKey driver
>
> From: S Twiss 
>
> Add DA9062 OnKey support into the existing DA9063 OnKey driver
> component by
> using generic access tables for common register and bit mask definitions.
>
> The following change will add generic register and bit mask support to the
> DA9063 OnKey.
>
> The following alterations have been made to the DA9063 OnKey:
>
> - Addition of a da906x_chip_config structure to hold all
>   generic registers and bitmasks for this type of OnKey component.
> - Addition of an struct of_device_id table for DA9063 and DA9062
>   defaults
> - Refactoring functions to use struct da9063_onkey accesses to generic
>   registers/masks instead of using defines from registers.h
> - Re-work of da9063_onkey_probe() to use of_match_node() and
>   dev_get_regmap() to provide initialisation of generic registers and
>   masks and access to regmap
>
> Signed-off-by: Steve Twiss 

Hi Dmitry,

One of my patches for the DA9062 OnKey (a modification to the DA9063 OnKey 
driver)
was sent a while ago but was waiting for the DA9062 MFD parts to make it into 
mainline.
Some previous conversations between you and Lee are here:

- https://lkml.org/lkml/2015/7/28/51
- https://lkml.org/lkml/2015/7/28/850

The MFD part and device tree part for the DA9062 OnKey are in the mainline 
v4.3-rc1
kernel now. Can I ask if there any barriers in the way for moving the DA9063 
OnKey
patch forward now please?

Regards,
Stephen

> ---
> Changes in V3:
>  - No change
> Changes in V2:
>  - Altered Kconfig to use the line "Dialog DA9062/63 OnKey"
>  - Rename of da9063_compatible_onkey_regmap to da906x_chip_config
>  - char *name changed to const char *name
>  - Rename struct da9063_compatible_onkey {} back to struct da9063_onkey
>
> This patch applies against linux-next and next-20150708
>
>
>  drivers/input/misc/Kconfig|   8 +--
>  drivers/input/misc/da9063_onkey.c | 129
> ++
>  2 files changed, 108 insertions(+), 29 deletions(-)
>
> diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
> index d4f0a81..2610cfa 100644
> --- a/drivers/input/misc/Kconfig
> +++ b/drivers/input/misc/Kconfig
> @@ -611,11 +611,11 @@ config INPUT_DA9055_ONKEY
> will be called da9055_onkey.
>
>  config INPUT_DA9063_ONKEY
> - tristate "Dialog DA9063 OnKey"
> - depends on MFD_DA9063
> + tristate "Dialog DA9062/63 OnKey"
> + depends on MFD_DA9063 || MFD_DA9062
>   help
> -   Support the ONKEY of Dialog DA9063 Power Management IC as an
> -   input device reporting power button statue.
> +   Support the ONKEY of Dialog DA9063 and DA9062 Power
> Management ICs
> +   as an input device capable for reporting the power button status.
>
> To compile this driver as a module, choose M here: the module
> will be called da9063_onkey.
> diff --git a/drivers/input/misc/da9063_onkey.c
> b/drivers/input/misc/da9063_onkey.c
> index f577585..8eb697d 100644
> --- a/drivers/input/misc/da9063_onkey.c
> +++ b/drivers/input/misc/da9063_onkey.c
> @@ -1,5 +1,5 @@
>  /*
> - * OnKey device driver for DA9063
> + * OnKey device driver for DA9063 and DA9062 PMICs
>   * Copyright (C) 2015  Dialog Semiconductor Ltd.
>   *
>   * This program is free software; you can redistribute it and/or
> @@ -24,36 +24,96 @@
>  #include 
>  #include 
>  #include 
> +#include 
> +#include 
> +
> +struct da906x_chip_config {
> + /* REGS */
> + int onkey_status;
> + int onkey_pwr_signalling;
> + int onkey_fault_log;
> + int onkey_shutdown;
> + /* MASKS */
> + int onkey_nonkey_mask;
> + int onkey_nonkey_lock_mask;
> + int onkey_key_reset_mask;
> + int onkey_shutdown_mask;
> + /* NAMES */
> + const char *name;
> +};
>
>  struct da9063_onkey {
> - struct da9063 *hw;
>   struct delayed_work work;
>   struct input_dev *input;
>   struct device *dev;
> + struct regmap *regmap;
> + const struct da906x_chip_config *config;
> + char phys[32];
>   bool key_power;
>  };
>
> +static const struct da906x_chip_config da9063_regs = {
> + /* REGS */
> + .onkey_status = DA9063_REG_STATUS_A,
> + .onkey_pwr_signalling = DA9063_REG_CONTROL_B,
> + .onkey_fault_log = DA9063_REG_FAULT_LOG,
> + .onkey_shutdown = DA9063_REG_CONTROL_F,
> + /* MASKS */
> + .onkey_nonkey_mask = DA9063_NONKEY,
> + .onkey_nonkey_lock_mask = DA9063_NONKEY_LOCK,
> + .onkey_key_reset_mask = DA9063_KEY_RESET,
> + .onkey_shutdown_mask = DA9063_SHUTDOWN,
> + /* NAMES */
> + .name = DA9063_DRVNAME_ONKEY,
> +};
> +
> +static const struct da906x_chip_config da9062_regs = {
> + /* REGS */
> + .onkey_status = DA9062AA_STATUS_A,
> + .onkey_pwr_signalling = DA9062AA_CONTROL_B,
> + .onkey_fault_log = DA9062AA_FAULT_LOG,
> + .onkey_shutdown = DA9062AA_CONTROL_F,
> + /* MASKS */
> 

RE: [PATCH V3 2/3] onkey: da9063: Add DA9062 OnKey capability to DA9063 OnKey driver

2015-09-15 Thread Stephen Twiss
On 23 July 2015 17:18, Steve Twiss wrote:

> Subject: [PATCH V3 2/3] onkey: da9063: Add DA9062 OnKey capability to DA9063 
> OnKey driver
>
> From: S Twiss 
>
> Add DA9062 OnKey support into the existing DA9063 OnKey driver
> component by
> using generic access tables for common register and bit mask definitions.
>
> The following change will add generic register and bit mask support to the
> DA9063 OnKey.
>
> The following alterations have been made to the DA9063 OnKey:
>
> - Addition of a da906x_chip_config structure to hold all
>   generic registers and bitmasks for this type of OnKey component.
> - Addition of an struct of_device_id table for DA9063 and DA9062
>   defaults
> - Refactoring functions to use struct da9063_onkey accesses to generic
>   registers/masks instead of using defines from registers.h
> - Re-work of da9063_onkey_probe() to use of_match_node() and
>   dev_get_regmap() to provide initialisation of generic registers and
>   masks and access to regmap
>
> Signed-off-by: Steve Twiss 

Hi Dmitry,

One of my patches for the DA9062 OnKey (a modification to the DA9063 OnKey 
driver)
was sent a while ago but was waiting for the DA9062 MFD parts to make it into 
mainline.
Some previous conversations between you and Lee are here:

- https://lkml.org/lkml/2015/7/28/51
- https://lkml.org/lkml/2015/7/28/850

The MFD part and device tree part for the DA9062 OnKey are in the mainline 
v4.3-rc1
kernel now. Can I ask if there any barriers in the way for moving the DA9063 
OnKey
patch forward now please?

Regards,
Stephen

> ---
> Changes in V3:
>  - No change
> Changes in V2:
>  - Altered Kconfig to use the line "Dialog DA9062/63 OnKey"
>  - Rename of da9063_compatible_onkey_regmap to da906x_chip_config
>  - char *name changed to const char *name
>  - Rename struct da9063_compatible_onkey {} back to struct da9063_onkey
>
> This patch applies against linux-next and next-20150708
>
>
>  drivers/input/misc/Kconfig|   8 +--
>  drivers/input/misc/da9063_onkey.c | 129
> ++
>  2 files changed, 108 insertions(+), 29 deletions(-)
>
> diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
> index d4f0a81..2610cfa 100644
> --- a/drivers/input/misc/Kconfig
> +++ b/drivers/input/misc/Kconfig
> @@ -611,11 +611,11 @@ config INPUT_DA9055_ONKEY
> will be called da9055_onkey.
>
>  config INPUT_DA9063_ONKEY
> - tristate "Dialog DA9063 OnKey"
> - depends on MFD_DA9063
> + tristate "Dialog DA9062/63 OnKey"
> + depends on MFD_DA9063 || MFD_DA9062
>   help
> -   Support the ONKEY of Dialog DA9063 Power Management IC as an
> -   input device reporting power button statue.
> +   Support the ONKEY of Dialog DA9063 and DA9062 Power
> Management ICs
> +   as an input device capable for reporting the power button status.
>
> To compile this driver as a module, choose M here: the module
> will be called da9063_onkey.
> diff --git a/drivers/input/misc/da9063_onkey.c
> b/drivers/input/misc/da9063_onkey.c
> index f577585..8eb697d 100644
> --- a/drivers/input/misc/da9063_onkey.c
> +++ b/drivers/input/misc/da9063_onkey.c
> @@ -1,5 +1,5 @@
>  /*
> - * OnKey device driver for DA9063
> + * OnKey device driver for DA9063 and DA9062 PMICs
>   * Copyright (C) 2015  Dialog Semiconductor Ltd.
>   *
>   * This program is free software; you can redistribute it and/or
> @@ -24,36 +24,96 @@
>  #include 
>  #include 
>  #include 
> +#include 
> +#include 
> +
> +struct da906x_chip_config {
> + /* REGS */
> + int onkey_status;
> + int onkey_pwr_signalling;
> + int onkey_fault_log;
> + int onkey_shutdown;
> + /* MASKS */
> + int onkey_nonkey_mask;
> + int onkey_nonkey_lock_mask;
> + int onkey_key_reset_mask;
> + int onkey_shutdown_mask;
> + /* NAMES */
> + const char *name;
> +};
>
>  struct da9063_onkey {
> - struct da9063 *hw;
>   struct delayed_work work;
>   struct input_dev *input;
>   struct device *dev;
> + struct regmap *regmap;
> + const struct da906x_chip_config *config;
> + char phys[32];
>   bool key_power;
>  };
>
> +static const struct da906x_chip_config da9063_regs = {
> + /* REGS */
> + .onkey_status = DA9063_REG_STATUS_A,
> + .onkey_pwr_signalling = DA9063_REG_CONTROL_B,
> + .onkey_fault_log = DA9063_REG_FAULT_LOG,
> + .onkey_shutdown = DA9063_REG_CONTROL_F,
> + /* MASKS */
> + .onkey_nonkey_mask = DA9063_NONKEY,
> + .onkey_nonkey_lock_mask = DA9063_NONKEY_LOCK,
> + .onkey_key_reset_mask = DA9063_KEY_RESET,
> + .onkey_shutdown_mask = DA9063_SHUTDOWN,
> + /* NAMES */
> + .name = DA9063_DRVNAME_ONKEY,
> +};
> +
> +static const struct da906x_chip_config da9062_regs = {
> + /* REGS */
> + .onkey_status = DA9062AA_STATUS_A,
> + .onkey_pwr_signalling = DA9062AA_CONTROL_B,
> + .onkey_fault_log = DA9062AA_FAULT_LOG,
> +   

RE: [PATCH V3 2/3] onkey: da9063: Add DA9062 OnKey capability to DA9063 OnKey driver

2015-09-15 Thread Opensource [Steve Twiss]
This is a resend of my previous e-mail sent just a couple of minutes ago -- 
this one removes the copyright footer that was added by our IT department

On 23 July 2015 17:18, Steve Twiss wrote:

> Subject: [PATCH V3 2/3] onkey: da9063: Add DA9062 OnKey capability to DA9063 
> OnKey driver
> 
> From: S Twiss 
> 
> Add DA9062 OnKey support into the existing DA9063 OnKey driver
> component by
> using generic access tables for common register and bit mask definitions.
> 
> The following change will add generic register and bit mask support to the
> DA9063 OnKey.
> 
> The following alterations have been made to the DA9063 OnKey:
> 
> - Addition of a da906x_chip_config structure to hold all
>   generic registers and bitmasks for this type of OnKey component.
> - Addition of an struct of_device_id table for DA9063 and DA9062
>   defaults
> - Refactoring functions to use struct da9063_onkey accesses to generic
>   registers/masks instead of using defines from registers.h
> - Re-work of da9063_onkey_probe() to use of_match_node() and
>   dev_get_regmap() to provide initialisation of generic registers and
>   masks and access to regmap
> 
> Signed-off-by: Steve Twiss 

Hi Dmitry,

One of my patches for the DA9062 OnKey (a modification to the DA9063 OnKey 
driver)
was sent a while ago but was waiting for the DA9062 MFD parts to make it into 
mainline.
Some previous conversations between you and Lee are here:

- https://lkml.org/lkml/2015/7/28/51
- https://lkml.org/lkml/2015/7/28/850

The MFD part and device tree part for the DA9062 OnKey are in the mainline 
v4.3-rc1
kernel now. Can I ask if there any barriers in the way for moving the DA9063 
OnKey
patch forward now please?

Regards,
Stephen

> ---
> Changes in V3:
>  - No change
> Changes in V2:
>  - Altered Kconfig to use the line "Dialog DA9062/63 OnKey"
>  - Rename of da9063_compatible_onkey_regmap to da906x_chip_config
>  - char *name changed to const char *name
>  - Rename struct da9063_compatible_onkey {} back to struct da9063_onkey
> 
> This patch applies against linux-next and next-20150708
> 
> 
>  drivers/input/misc/Kconfig|   8 +--
>  drivers/input/misc/da9063_onkey.c | 129
> ++
>  2 files changed, 108 insertions(+), 29 deletions(-)
> 
> diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
> index d4f0a81..2610cfa 100644
> --- a/drivers/input/misc/Kconfig
> +++ b/drivers/input/misc/Kconfig
> @@ -611,11 +611,11 @@ config INPUT_DA9055_ONKEY
> will be called da9055_onkey.
> 
>  config INPUT_DA9063_ONKEY
> - tristate "Dialog DA9063 OnKey"
> - depends on MFD_DA9063
> + tristate "Dialog DA9062/63 OnKey"
> + depends on MFD_DA9063 || MFD_DA9062
>   help
> -   Support the ONKEY of Dialog DA9063 Power Management IC as an
> -   input device reporting power button statue.
> +   Support the ONKEY of Dialog DA9063 and DA9062 Power
> Management ICs
> +   as an input device capable for reporting the power button status.
> 
> To compile this driver as a module, choose M here: the module
> will be called da9063_onkey.
> diff --git a/drivers/input/misc/da9063_onkey.c
> b/drivers/input/misc/da9063_onkey.c
> index f577585..8eb697d 100644
> --- a/drivers/input/misc/da9063_onkey.c
> +++ b/drivers/input/misc/da9063_onkey.c
> @@ -1,5 +1,5 @@
>  /*
> - * OnKey device driver for DA9063
> + * OnKey device driver for DA9063 and DA9062 PMICs
>   * Copyright (C) 2015  Dialog Semiconductor Ltd.
>   *
>   * This program is free software; you can redistribute it and/or
> @@ -24,36 +24,96 @@
>  #include 
>  #include 
>  #include 
> +#include 
> +#include 
> +
> +struct da906x_chip_config {
> + /* REGS */
> + int onkey_status;
> + int onkey_pwr_signalling;
> + int onkey_fault_log;
> + int onkey_shutdown;
> + /* MASKS */
> + int onkey_nonkey_mask;
> + int onkey_nonkey_lock_mask;
> + int onkey_key_reset_mask;
> + int onkey_shutdown_mask;
> + /* NAMES */
> + const char *name;
> +};
> 
>  struct da9063_onkey {
> - struct da9063 *hw;
>   struct delayed_work work;
>   struct input_dev *input;
>   struct device *dev;
> + struct regmap *regmap;
> + const struct da906x_chip_config *config;
> + char phys[32];
>   bool key_power;
>  };
> 
> +static const struct da906x_chip_config da9063_regs = {
> + /* REGS */
> + .onkey_status = DA9063_REG_STATUS_A,
> + .onkey_pwr_signalling = DA9063_REG_CONTROL_B,
> + .onkey_fault_log = DA9063_REG_FAULT_LOG,
> + .onkey_shutdown = DA9063_REG_CONTROL_F,
> + /* MASKS */
> + .onkey_nonkey_mask = DA9063_NONKEY,
> + .onkey_nonkey_lock_mask = DA9063_NONKEY_LOCK,
> + .onkey_key_reset_mask = DA9063_KEY_RESET,
> + .onkey_shutdown_mask = DA9063_SHUTDOWN,
> + /* NAMES */
> + .name = DA9063_DRVNAME_ONKEY,
> +};
> +
> +static const struct da906x_chip_config da9062_regs = {