Re: [PATCH] drm/bridge: ti-sn65dsi86: Check for CONFIG_PWM using IS_REACHABLE()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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@xxxxxxxxxxxx>

Reviewed-by: Louis Chauvet <louis.chauvet@xxxxxxxxxxx>

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




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux