[PATCH] drm/bridge: ti-sn65dsi86: Check for CONFIG_PWM using IS_REACHABLE()
Louis Chauvet
louis.chauvet at bootlin.com
Mon Feb 17 17:54:54 UTC 2025
Le 17/02/2025 à 18:49, Uwe Kleine-König a écrit :
> Currently CONFIG_PWM is a bool but I intend to change it to tristate. If
> CONFIG_PWM=m in the configuration, the cpp symbol CONFIG_PWM isn't
> defined and so the PWM code paths in the ti-sn65dsi86 driver are not
> used.
>
> The correct way to check for CONFIG_PWM is using IS_REACHABLE which does
> the right thing for all cases
> CONFIG_DRM_TI_SN65DSI86 ∈ { y, m } x CONFIG_PWM ∈ { y, m, n }.
>
> There is no change until CONFIG_PWM actually becomes tristate.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig at baylibre.com>
Reviewed-by: Louis Chauvet <louis.chauvet at bootlin.com>
Thanks,
Louis Chauvet
> ---
> Hello,
>
> even without the change to make CONFIG_PWM tristate using IS_REACHABLE()
> is the more idiomatic way to check for CONFIG_PWM.
>
> Note that IS_ENABLED() is wrong in the case CONFIG_DRM_TI_SN65DSI86=y +
> CONFIG_PWM=m.
>
> Best regards
> Uwe
>
> drivers/gpu/drm/bridge/ti-sn65dsi86.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> index e4d9006b59f1..c84976db9ba5 100644
> --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> @@ -196,7 +196,7 @@ struct ti_sn65dsi86 {
> struct gpio_chip gchip;
> DECLARE_BITMAP(gchip_output, SN_NUM_GPIOS);
> #endif
> -#if defined(CONFIG_PWM)
> +#if IS_REACHABLE(CONFIG_PWM)
> struct pwm_chip *pchip;
> bool pwm_enabled;
> atomic_t pwm_pin_busy;
> @@ -1361,7 +1361,7 @@ static struct auxiliary_driver ti_sn_bridge_driver = {
> /* -----------------------------------------------------------------------------
> * PWM Controller
> */
> -#if defined(CONFIG_PWM)
> +#if IS_REACHABLE(CONFIG_PWM)
> static int ti_sn_pwm_pin_request(struct ti_sn65dsi86 *pdata)
> {
> return atomic_xchg(&pdata->pwm_pin_busy, 1) ? -EBUSY : 0;
> @@ -1955,7 +1955,7 @@ static int ti_sn65dsi86_probe(struct i2c_client *client)
> return ret;
> }
>
> - if (IS_ENABLED(CONFIG_PWM)) {
> + if (IS_REACHABLE(CONFIG_PWM)) {
> ret = ti_sn65dsi86_add_aux_device(pdata, &pdata->pwm_aux, "pwm");
> if (ret)
> return ret;
>
> base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b
--
Louis Chauvet, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the dri-devel
mailing list