RE: [PATCH V3 2/3] onkey: da9063: Add DA9062 OnKey capability to DA9063 OnKey driver
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
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
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
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 = {