Message ID | 20230509124100.288814-1-hdegoede@redhat.com |
---|---|
State | Accepted |
Commit | fa578bf50e0b52fe0489480c0e311683cd60ffb6 |
Headers | show |
Series | [v2] ACPI: LPSS: Add pwm_lookup_table entry for second PWM on CHT/BSW devices | expand |
On Tue, May 9, 2023 at 7:10 PM Mika Westerberg <mika.westerberg@linux.intel.com> wrote: > > On Tue, May 09, 2023 at 02:41:00PM +0200, Hans de Goede wrote: > > BSW PWM2 is used for backlight control for fixed (etched into the glass) > > touch controls on some models. > > > > Add an entry for the second PWM controller to bsw_pwm_lookup, > > so that drivers can use pwm_get() to get a reference to it. > > > > These touch-controls have specialized drivers which bind to different > > devices on different models, so the consumer-device-name in the lookup > > table entry is set to NULL, so that only con-id matching is used. > > > > The con-id is set to "pwm_soc_lpss_2" which describes the PWM controller > > rather than the usual approach of describing its function. > > The specialized (model specific) drivers which need access to the PWM > > controller know they need the "pwm_soc_lpss_2" con-id. > > > > Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> > > Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > > Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> Applied as 6.5 material, thanks!
diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c index 77186f084d3a..539e700de4d2 100644 --- a/drivers/acpi/acpi_lpss.c +++ b/drivers/acpi/acpi_lpss.c @@ -201,11 +201,19 @@ static void byt_i2c_setup(struct lpss_private_data *pdata) writel(0, pdata->mmio_base + LPSS_I2C_ENABLE); } -/* BSW PWM used for backlight control by the i915 driver */ +/* + * BSW PWM1 is used for backlight control by the i915 driver + * BSW PWM2 is used for backlight control for fixed (etched into the glass) + * touch controls on some models. These touch-controls have specialized + * drivers which know they need the "pwm_soc_lpss_2" con-id. + */ static struct pwm_lookup bsw_pwm_lookup[] = { PWM_LOOKUP_WITH_MODULE("80862288:00", 0, "0000:00:02.0", "pwm_soc_backlight", 0, PWM_POLARITY_NORMAL, "pwm-lpss-platform"), + PWM_LOOKUP_WITH_MODULE("80862289:00", 0, NULL, + "pwm_soc_lpss_2", 0, PWM_POLARITY_NORMAL, + "pwm-lpss-platform"), }; static void bsw_pwm_setup(struct lpss_private_data *pdata)