Message ID | 20200930094147.635556-2-vincent.huang@tw.synaptics.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 261bfb3328b89c63ca410ae30a0c87cd3955344c |
Headers | show |
Series | Add support for F3A | expand |
On Wed, Sep 30, 2020, at 2:41 AM, Vincent Huang wrote: > f30_data in rmi_device_platform_data could be also referenced by RMI > function 3A, so rename it and the structure name to avoid confusion. > > Signed-off-by: Vincent Huang <vincent.huang@tw.synaptics.com> > Reviewed-by: Hans de Goede <hdegoede@redhat.com> > Tested-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Andrew Duggan <aduggan@synaptics.com> > --- > drivers/hid/hid-rmi.c | 2 +- > drivers/input/mouse/synaptics.c | 2 +- > drivers/input/rmi4/rmi_f30.c | 14 +++++++------- > include/linux/rmi.h | 11 ++++++----- > 4 files changed, 15 insertions(+), 14 deletions(-) > > diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c > index 9ce22acdfaca..62315e31d520 100644 > --- a/drivers/hid/hid-rmi.c > +++ b/drivers/hid/hid-rmi.c > @@ -722,7 +722,7 @@ static int rmi_probe(struct hid_device *hdev, const > struct hid_device_id *id) > } > > if (data->device_flags & RMI_DEVICE_HAS_PHYS_BUTTONS) > - rmi_hid_pdata.f30_data.disable = true; > + rmi_hid_pdata.gpio_data.disable = true; > > data->xport.dev = hdev->dev.parent; > data->xport.pdata = rmi_hid_pdata; > diff --git a/drivers/input/mouse/synaptics.c > b/drivers/input/mouse/synaptics.c > index 4b81b2d0fe06..8a54efd6eb95 100644 > --- a/drivers/input/mouse/synaptics.c > +++ b/drivers/input/mouse/synaptics.c > @@ -1752,7 +1752,7 @@ static int synaptics_create_intertouch(struct > psmouse *psmouse, > .kernel_tracking = false, > .topbuttonpad = topbuttonpad, > }, > - .f30_data = { > + .gpio_data = { > .buttonpad = SYN_CAP_CLICKPAD(info->ext_cap_0c), > .trackstick_buttons = > !!SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10), > diff --git a/drivers/input/rmi4/rmi_f30.c b/drivers/input/rmi4/rmi_f30.c > index a90dad1d9ac7..35045f161dc2 100644 > --- a/drivers/input/rmi4/rmi_f30.c > +++ b/drivers/input/rmi4/rmi_f30.c > @@ -168,17 +168,17 @@ static int rmi_f30_config(struct rmi_function *fn) > rmi_get_platform_data(fn->rmi_dev); > int error; > > - /* can happen if f30_data.disable is set */ > + /* can happen if gpio_data.disable is set */ > if (!f30) > return 0; > > - if (pdata->f30_data.trackstick_buttons) { > + if (pdata->gpio_data.trackstick_buttons) { > /* Try [re-]establish link to F03. */ > f30->f03 = rmi_find_function(fn->rmi_dev, 0x03); > f30->trackstick_buttons = f30->f03 != NULL; > } > > - if (pdata->f30_data.disable) { > + if (pdata->gpio_data.disable) { > drv->clear_irq_bits(fn->rmi_dev, fn->irq_mask); > } else { > /* Write Control Register values back to device */ > @@ -245,10 +245,10 @@ static int rmi_f30_map_gpios(struct rmi_function *fn, > if (!rmi_f30_is_valid_button(i, f30->ctrl)) > continue; > > - if (pdata->f30_data.trackstick_buttons && > + if (pdata->gpio_data.trackstick_buttons && > i >= TRACKSTICK_RANGE_START && i < TRACKSTICK_RANGE_END) { > f30->gpioled_key_map[i] = trackstick_button++; > - } else if (!pdata->f30_data.buttonpad || !button_mapped) { > + } else if (!pdata->gpio_data.buttonpad || !button_mapped) { > f30->gpioled_key_map[i] = button; > input_set_capability(input, EV_KEY, button++); > button_mapped = true; > @@ -264,7 +264,7 @@ static int rmi_f30_map_gpios(struct rmi_function *fn, > * but I am not sure, so use only the pdata info and the number of > * mapped buttons. > */ > - if (pdata->f30_data.buttonpad || (button - BTN_LEFT == 1)) > + if (pdata->gpio_data.buttonpad || (button - BTN_LEFT == 1)) > __set_bit(INPUT_PROP_BUTTONPAD, input->propbit); > > return 0; > @@ -372,7 +372,7 @@ static int rmi_f30_probe(struct rmi_function *fn) > struct f30_data *f30; > int error; > > - if (pdata->f30_data.disable) > + if (pdata->gpio_data.disable) > return 0; > > if (!drv_data->input) { > diff --git a/include/linux/rmi.h b/include/linux/rmi.h > index 7b22366d0065..00dda5381bf8 100644 > --- a/include/linux/rmi.h > +++ b/include/linux/rmi.h > @@ -102,15 +102,16 @@ struct rmi_2d_sensor_platform_data { > }; > > /** > - * struct rmi_f30_data - overrides defaults for a single F30 GPIOs/LED > chip. > + * struct rmi_gpio_data - overrides defaults for a single F30/F3A > GPIOs/LED > + * chip. > * @buttonpad - the touchpad is a buttonpad, so enable only the first > actual > * button that is found. > - * @trackstick_buttons - Set when the function 30 is handling the > physical > + * @trackstick_buttons - Set when the function 30 or 3a is handling > the physical > * buttons of the trackstick (as a PS/2 passthrough device). > - * @disable - the touchpad incorrectly reports F30 and it should be > ignored. > + * @disable - the touchpad incorrectly reports F30/F3A and it should > be ignored. > * This is a special case which is due to misconfigured firmware. > */ > -struct rmi_f30_data { > +struct rmi_gpio_data { > bool buttonpad; > bool trackstick_buttons; > bool disable; > @@ -218,7 +219,7 @@ struct rmi_device_platform_data { > /* function handler pdata */ > struct rmi_2d_sensor_platform_data sensor_pdata; > struct rmi_f01_power_management power_management; > - struct rmi_f30_data f30_data; > + struct rmi_gpio_data gpio_data; > }; > > /** > -- > 2.25.1 > >
On Wed, Sep 30, 2020 at 05:41:46PM +0800, Vincent Huang wrote: > f30_data in rmi_device_platform_data could be also referenced by RMI > function 3A, so rename it and the structure name to avoid confusion. > > Signed-off-by: Vincent Huang <vincent.huang@tw.synaptics.com> > Reviewed-by: Hans de Goede <hdegoede@redhat.com> > Tested-by: Hans de Goede <hdegoede@redhat.com> Applied, thank you.
diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c index 9ce22acdfaca..62315e31d520 100644 --- a/drivers/hid/hid-rmi.c +++ b/drivers/hid/hid-rmi.c @@ -722,7 +722,7 @@ static int rmi_probe(struct hid_device *hdev, const struct hid_device_id *id) } if (data->device_flags & RMI_DEVICE_HAS_PHYS_BUTTONS) - rmi_hid_pdata.f30_data.disable = true; + rmi_hid_pdata.gpio_data.disable = true; data->xport.dev = hdev->dev.parent; data->xport.pdata = rmi_hid_pdata; diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c index 4b81b2d0fe06..8a54efd6eb95 100644 --- a/drivers/input/mouse/synaptics.c +++ b/drivers/input/mouse/synaptics.c @@ -1752,7 +1752,7 @@ static int synaptics_create_intertouch(struct psmouse *psmouse, .kernel_tracking = false, .topbuttonpad = topbuttonpad, }, - .f30_data = { + .gpio_data = { .buttonpad = SYN_CAP_CLICKPAD(info->ext_cap_0c), .trackstick_buttons = !!SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10), diff --git a/drivers/input/rmi4/rmi_f30.c b/drivers/input/rmi4/rmi_f30.c index a90dad1d9ac7..35045f161dc2 100644 --- a/drivers/input/rmi4/rmi_f30.c +++ b/drivers/input/rmi4/rmi_f30.c @@ -168,17 +168,17 @@ static int rmi_f30_config(struct rmi_function *fn) rmi_get_platform_data(fn->rmi_dev); int error; - /* can happen if f30_data.disable is set */ + /* can happen if gpio_data.disable is set */ if (!f30) return 0; - if (pdata->f30_data.trackstick_buttons) { + if (pdata->gpio_data.trackstick_buttons) { /* Try [re-]establish link to F03. */ f30->f03 = rmi_find_function(fn->rmi_dev, 0x03); f30->trackstick_buttons = f30->f03 != NULL; } - if (pdata->f30_data.disable) { + if (pdata->gpio_data.disable) { drv->clear_irq_bits(fn->rmi_dev, fn->irq_mask); } else { /* Write Control Register values back to device */ @@ -245,10 +245,10 @@ static int rmi_f30_map_gpios(struct rmi_function *fn, if (!rmi_f30_is_valid_button(i, f30->ctrl)) continue; - if (pdata->f30_data.trackstick_buttons && + if (pdata->gpio_data.trackstick_buttons && i >= TRACKSTICK_RANGE_START && i < TRACKSTICK_RANGE_END) { f30->gpioled_key_map[i] = trackstick_button++; - } else if (!pdata->f30_data.buttonpad || !button_mapped) { + } else if (!pdata->gpio_data.buttonpad || !button_mapped) { f30->gpioled_key_map[i] = button; input_set_capability(input, EV_KEY, button++); button_mapped = true; @@ -264,7 +264,7 @@ static int rmi_f30_map_gpios(struct rmi_function *fn, * but I am not sure, so use only the pdata info and the number of * mapped buttons. */ - if (pdata->f30_data.buttonpad || (button - BTN_LEFT == 1)) + if (pdata->gpio_data.buttonpad || (button - BTN_LEFT == 1)) __set_bit(INPUT_PROP_BUTTONPAD, input->propbit); return 0; @@ -372,7 +372,7 @@ static int rmi_f30_probe(struct rmi_function *fn) struct f30_data *f30; int error; - if (pdata->f30_data.disable) + if (pdata->gpio_data.disable) return 0; if (!drv_data->input) { diff --git a/include/linux/rmi.h b/include/linux/rmi.h index 7b22366d0065..00dda5381bf8 100644 --- a/include/linux/rmi.h +++ b/include/linux/rmi.h @@ -102,15 +102,16 @@ struct rmi_2d_sensor_platform_data { }; /** - * struct rmi_f30_data - overrides defaults for a single F30 GPIOs/LED chip. + * struct rmi_gpio_data - overrides defaults for a single F30/F3A GPIOs/LED + * chip. * @buttonpad - the touchpad is a buttonpad, so enable only the first actual * button that is found. - * @trackstick_buttons - Set when the function 30 is handling the physical + * @trackstick_buttons - Set when the function 30 or 3a is handling the physical * buttons of the trackstick (as a PS/2 passthrough device). - * @disable - the touchpad incorrectly reports F30 and it should be ignored. + * @disable - the touchpad incorrectly reports F30/F3A and it should be ignored. * This is a special case which is due to misconfigured firmware. */ -struct rmi_f30_data { +struct rmi_gpio_data { bool buttonpad; bool trackstick_buttons; bool disable; @@ -218,7 +219,7 @@ struct rmi_device_platform_data { /* function handler pdata */ struct rmi_2d_sensor_platform_data sensor_pdata; struct rmi_f01_power_management power_management; - struct rmi_f30_data f30_data; + struct rmi_gpio_data gpio_data; }; /**