From patchwork Thu Jul 11 12:01:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bastien Curutchet X-Patchwork-Id: 812395 Received: from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net [217.70.183.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0941915ADB4; Thu, 11 Jul 2024 12:01:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720699304; cv=none; b=Hxgqyy9GECXVoqtyzHRi2aS0rbHCVVlvexGWY+W0liVJXBOfvRFOFgYGPxI3FTCzNeYpCRcpNvakuVqDwJL3y2wcBQ/L+/OEJKIn1Va5Jr9qEyjrLcK3Z+frCosGNVpFNpIOVQUwFnVtsQ761OnTC+mjxMsYCsYuNouOIKHY2gY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720699304; c=relaxed/simple; bh=YMbrlYAacq8VnF6uzSYjpNqyLR/Zwj3QjxxEfxNoWV0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=V03/qBt/GstIUdc7AlhneILTD2W6vv07L6HLzbFn9ZHW2DjYCxnxu7NikD1jbT9RXh6o/L1YMhtV9pnPbB0MDDNER2zoz8ZUPO96riLlw8Y0CD3jI5qA5yUmGtCE9Zd1ASp1sanxjrbWNEWuCRUz77DpRRmR2WMSIoqJ6pAoHwM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=H2I3oWp5; arc=none smtp.client-ip=217.70.183.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="H2I3oWp5" Received: by mail.gandi.net (Postfix) with ESMTPA id 4C8C61BF20F; Thu, 11 Jul 2024 12:01:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1720699293; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Qt7UmrwvNzoZ4+Yje8MDhIVAuMdtzcc+/RmUSruDHcw=; b=H2I3oWp5iw1bBZE/lzsXWp4ybyEurGYZ2hBB7tkrdoGxiv1v1xn7+2op+0YvYHiju+W1Sp GaS7Ww4+FlQPldWhMIpwToEEYU4WahcubZYSH63azYbbjB26pXgr+NsdjEF9CI3n5v8OGr 1PvcfXN25bzwDKQtqWMos0kBr42J8EfnWop0kxv6A4M4r/VDBaFThKOr6dM1cI6z9mYHUD /NE30YqVF0zECKCKlyEbYSd+qpl2xyAOuzNDRpw8aUxu/q/zs2/g+xGbY50JAQ5ulCh0Cp v8sjGHyATKN9wRAJMpkuyrXmqpDHWnJk4qqDd5ZQSxHeYeC3jLHhfkR7Lp9b+A== From: Bastien Curutchet To: Riku Voipio , Pavel Machek , Lee Jones Cc: linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org, Thomas Petazzoni , Herve Codina , Christopher Cordahi , Bastien Curutchet Subject: [PATCH v3 1/4] leds: pca9532: Use defines to select PWM instance Date: Thu, 11 Jul 2024 14:01:26 +0200 Message-ID: <20240711120129.100248-2-bastien.curutchet@bootlin.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20240711120129.100248-1-bastien.curutchet@bootlin.com> References: <20240711120129.100248-1-bastien.curutchet@bootlin.com> Precedence: bulk X-Mailing-List: linux-leds@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-GND-Sasl: bastien.curutchet@bootlin.com Two tables are used to configure the PWM and PSC registers of the two PWM available in the pca9532. Magic numbers are used to access this table instead of defines. Add defines PCA9532_PWM_ID_0 and PCA9532_PWM_ID_1 and use them in place of these magic numbers. Signed-off-by: Bastien Curutchet --- drivers/leds/leds-pca9532.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/drivers/leds/leds-pca9532.c b/drivers/leds/leds-pca9532.c index bf8bb8fc007c..b6e5f48bffe7 100644 --- a/drivers/leds/leds-pca9532.c +++ b/drivers/leds/leds-pca9532.c @@ -45,6 +45,9 @@ struct pca9532_data { struct gpio_chip gpio; #endif const struct pca9532_chip_info *chip_info; + +#define PCA9532_PWM_ID_0 0 +#define PCA9532_PWM_ID_1 1 u8 pwm[2]; u8 psc[2]; }; @@ -181,12 +184,12 @@ static int pca9532_set_brightness(struct led_classdev *led_cdev, led->state = PCA9532_ON; else { led->state = PCA9532_PWM0; /* Thecus: hardcode one pwm */ - err = pca9532_calcpwm(led->client, 0, 0, value); + err = pca9532_calcpwm(led->client, PCA9532_PWM_ID_0, 0, value); if (err) return err; } if (led->state == PCA9532_PWM0) - pca9532_setpwm(led->client, 0); + pca9532_setpwm(led->client, PCA9532_PWM_ID_0); pca9532_setled(led); return err; } @@ -209,11 +212,11 @@ static int pca9532_set_blink(struct led_classdev *led_cdev, /* Thecus specific: only use PSC/PWM 0 */ psc = (*delay_on * 152-1)/1000; - err = pca9532_calcpwm(client, 0, psc, led_cdev->brightness); + err = pca9532_calcpwm(client, PCA9532_PWM_ID_0, psc, led_cdev->brightness); if (err) return err; if (led->state == PCA9532_PWM0) - pca9532_setpwm(led->client, 0); + pca9532_setpwm(led->client, PCA9532_PWM_ID_0); pca9532_setled(led); return 0; @@ -229,9 +232,9 @@ static int pca9532_event(struct input_dev *dev, unsigned int type, /* XXX: allow different kind of beeps with psc/pwm modifications */ if (value > 1 && value < 32767) - data->pwm[1] = 127; + data->pwm[PCA9532_PWM_ID_1] = 127; else - data->pwm[1] = 0; + data->pwm[PCA9532_PWM_ID_1] = 0; schedule_work(&data->work); @@ -246,7 +249,7 @@ static void pca9532_input_work(struct work_struct *work) mutex_lock(&data->update_lock); i2c_smbus_write_byte_data(data->client, PCA9532_REG_PWM(maxleds, 1), - data->pwm[1]); + data->pwm[PCA9532_PWM_ID_1]); mutex_unlock(&data->update_lock); } @@ -475,9 +478,9 @@ pca9532_of_populate_pdata(struct device *dev, struct device_node *np) pdata->gpio_base = -1; - of_property_read_u8_array(np, "nxp,pwm", &pdata->pwm[0], + of_property_read_u8_array(np, "nxp,pwm", &pdata->pwm[PCA9532_PWM_ID_0], ARRAY_SIZE(pdata->pwm)); - of_property_read_u8_array(np, "nxp,psc", &pdata->psc[0], + of_property_read_u8_array(np, "nxp,psc", &pdata->psc[PCA9532_PWM_ID_0], ARRAY_SIZE(pdata->psc)); for_each_available_child_of_node(np, child) { From patchwork Thu Jul 11 12:01:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bastien Curutchet X-Patchwork-Id: 812171 Received: from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net [217.70.183.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C5E3229CF0; Thu, 11 Jul 2024 12:01:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720699305; cv=none; b=t7qsCRr5dIH2mt2GY9jDCuQlCBgISA0v/n41sVqNjUM8DMkS9ELCAB18qUSh04CLXQYu1lyuXfP1F2VMQdl25zJbe3zbvtwV9yYWTI0/ep9cmKdEghPgTShHMZiQZtGP4/C84BPCnTJKl9/xlJJhkGDDXBnIzrn3dqkOUMeXHGU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720699305; c=relaxed/simple; bh=/SBAOkOoIznMK4bYc2h3IexdEF2nKaBhd045WhXTYT8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mAP0TFpFyq36l3z5DSezoaGlZAMDffzOtm3H9nWi7u6iwpmX2tfqSD1eXcJqnOaLurBE/yK+tTOxZFOWzSCVf9XfunDh06xLDoY0eMKmMCty6/Psnz9Xi1vTvkdYLjmko1NKcxwAM+tq0HodX+PsV7qWklr2ty3WJWI4TfTuNbM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=SuXiM/Zs; arc=none smtp.client-ip=217.70.183.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="SuXiM/Zs" Received: by mail.gandi.net (Postfix) with ESMTPA id 03EFA1BF206; Thu, 11 Jul 2024 12:01:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1720699295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NUI30eyXURrE9I70sB2m1/cVQYUEhBg1sMfDC9rbGmg=; b=SuXiM/Zs0USvfmXFFp/jWbX3c8X8K1nzx3WWOaiZV3JpadU94P+fLp8Oa/hIXTiiz5p+Ha NvedcTtHpOOHilqcOkDHhaR4RzY7n4te1CSNhOfvHde2Z7lqQ0kbMYoyRINqBNFUgRY76F a8xJsLaDGYaYBPdHlsKY+rRhSUq8q4ysvWAwGWpK5AASGQ0bgoVyERCDNDYzJkQXhag/B3 6DDs4Aisr61qIaqI+pT9Sls0BHlF3SUr2Mu05+3e9j6KVfU4S9J/+4JUjKcDNM0uRbqk8I swBUE+ofkMCnco7VFOnFGH2P+YqdwmaU3uhKlNrHGdolFjsNA460JKOHcT7Ivg== From: Bastien Curutchet To: Riku Voipio , Pavel Machek , Lee Jones Cc: linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org, Thomas Petazzoni , Herve Codina , Christopher Cordahi , Bastien Curutchet Subject: [PATCH v3 2/4] leds: pca9532: Use PWM1 for hardware blinking Date: Thu, 11 Jul 2024 14:01:27 +0200 Message-ID: <20240711120129.100248-3-bastien.curutchet@bootlin.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20240711120129.100248-1-bastien.curutchet@bootlin.com> References: <20240711120129.100248-1-bastien.curutchet@bootlin.com> Precedence: bulk X-Mailing-List: linux-leds@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-GND-Sasl: bastien.curutchet@bootlin.com PSC0/PWM0 are used by all LEDs for brightness and blinking. This causes conflicts when you set a brightness of a new LED while an other one is already using PWM0 for blinking. Use PSC1/PWM1 for blinking. Check that no other LED is already blinking with a different PSC1/PWM1 configuration to avoid conflict. Signed-off-by: Bastien Curutchet --- drivers/leds/leds-pca9532.c | 52 ++++++++++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 10 deletions(-) diff --git a/drivers/leds/leds-pca9532.c b/drivers/leds/leds-pca9532.c index b6e5f48bffe7..098fd66ca43e 100644 --- a/drivers/leds/leds-pca9532.c +++ b/drivers/leds/leds-pca9532.c @@ -29,6 +29,9 @@ #define LED_SHIFT(led) (LED_NUM(led) * 2) #define LED_MASK(led) (0x3 << LED_SHIFT(led)) +#define PCA9532_PWM_PERIOD_DIV 152 +#define PCA9532_PWM_DUTY_DIV 256 + #define ldev_to_led(c) container_of(c, struct pca9532_led, ldev) struct pca9532_chip_info { @@ -194,29 +197,58 @@ static int pca9532_set_brightness(struct led_classdev *led_cdev, return err; } +static int pca9532_update_hw_blink(struct pca9532_led *led, + unsigned long delay_on, unsigned long delay_off) +{ + struct pca9532_data *data = i2c_get_clientdata(led->client); + unsigned int psc; + int i; + + /* Look for others LEDs that already use PWM1 */ + for (i = 0; i < data->chip_info->num_leds; i++) { + struct pca9532_led *other = &data->leds[i]; + + if (other == led) + continue; + + if (other->state == PCA9532_PWM1) { + if (other->ldev.blink_delay_on != delay_on || + other->ldev.blink_delay_off != delay_off) { + /* HW can handle only one blink configuration at a time */ + return -EBUSY; + } + } + } + + psc = ((delay_on + delay_off) * PCA9532_PWM_PERIOD_DIV - 1) / 1000; + if (psc > U8_MAX) { + /* Blink period too long to be handled by hardware */ + return -EINVAL; + } + + led->state = PCA9532_PWM1; + data->psc[PCA9532_PWM_ID_1] = psc; + data->pwm[PCA9532_PWM_ID_1] = (delay_on * PCA9532_PWM_DUTY_DIV) / (delay_on + delay_off); + + return pca9532_setpwm(data->client, PCA9532_PWM_ID_1); +} + static int pca9532_set_blink(struct led_classdev *led_cdev, unsigned long *delay_on, unsigned long *delay_off) { struct pca9532_led *led = ldev_to_led(led_cdev); - struct i2c_client *client = led->client; - int psc; - int err = 0; + int err; if (*delay_on == 0 && *delay_off == 0) { /* led subsystem ask us for a blink rate */ *delay_on = 1000; *delay_off = 1000; } - if (*delay_on != *delay_off || *delay_on > 1690 || *delay_on < 6) - return -EINVAL; - /* Thecus specific: only use PSC/PWM 0 */ - psc = (*delay_on * 152-1)/1000; - err = pca9532_calcpwm(client, PCA9532_PWM_ID_0, psc, led_cdev->brightness); + err = pca9532_update_hw_blink(led, *delay_on, *delay_off); if (err) return err; - if (led->state == PCA9532_PWM0) - pca9532_setpwm(led->client, PCA9532_PWM_ID_0); + pca9532_setled(led); return 0; From patchwork Thu Jul 11 12:01:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bastien Curutchet X-Patchwork-Id: 812394 Received: from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net [217.70.183.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF52715B116; Thu, 11 Jul 2024 12:01:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720699305; cv=none; b=NXZK05if7NcV6UroUUCSKh+URqocLt9VRHh5sWBI508Y847/a5JJcWeV0j6N9AbCcD/WD4WBRGLUrExmdE0J0QaeZQFoMZt4uXLOaoWmCJiBwnoi40vSLJAQM7eCdtLTuaKSxvsBPrQtCm3CqBhpcdKrdppO7bE1Uj8TFMDblDo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720699305; c=relaxed/simple; bh=yAAOMLnZM1tP3pxsOZcFJvqPrxifImFA2Y80OQgFEXE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=r+xMrun98m9qcvu4VoBxkds9HMyF8HEc7y813b7VdMQmCNVACilvQ8BncEhSu9BTt+/w0NhzKpH0vtd8gZ+1ZWOPyddhaO49QJtEYiENg6Ij4DBQdv3vgAh1SxzJX0RR/AvpY5kw47+VnzbieiDynftX2KLKikUY14chPatF+Vg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=FqEc1hZw; arc=none smtp.client-ip=217.70.183.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="FqEc1hZw" Received: by mail.gandi.net (Postfix) with ESMTPA id 11D2C1BF205; Thu, 11 Jul 2024 12:01:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1720699296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Z32I30d3WDVwn56ex/HsYu+crp2YEIjAoDzDD60NB0U=; b=FqEc1hZwOAf78niemoqqJd+II4+5sK17HWPHLFdH8mH5L8GIeUsJMVCsxr8UGSska+2t1Z ZiQrH1Qnfelf6glQruZZoNDWZeBJfJXUuIBBPMySYxdkqFG1IJUkYYYqLn3A2Ycw106+NC 7jnvAIFXHkRszo8UnNOywncknzUtBAStqk92QRyQqGgeth2tbFbyfji9eErsTyO7YHGEZ3 0bEzYOlk2WRfrfYTE5HN69VxdkWeQ6md0+VyizXsXTOcU5VJu6WwpEAjvy2tJIhZQ4E0jR 39Tq8wMxdYmCcWJXpKJTfNqwxyYhPlOo6/O/dYisuTneuzqA8mf8HnaFv0Yyjw== From: Bastien Curutchet To: Riku Voipio , Pavel Machek , Lee Jones Cc: linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org, Thomas Petazzoni , Herve Codina , Christopher Cordahi , Bastien Curutchet Subject: [PATCH v3 3/4] leds: pca9532: Explicitly disable hardware blink when PWM1 is unavailable Date: Thu, 11 Jul 2024 14:01:28 +0200 Message-ID: <20240711120129.100248-4-bastien.curutchet@bootlin.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20240711120129.100248-1-bastien.curutchet@bootlin.com> References: <20240711120129.100248-1-bastien.curutchet@bootlin.com> Precedence: bulk X-Mailing-List: linux-leds@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-GND-Sasl: bastien.curutchet@bootlin.com When a LED is used to drive a beeper, it uses PWM1. This can cause conflicts if an other LED want to use PWM1 for blinking. Disable use of hardware for blinking when one or more LEDs are used to drive beepers. Signed-off-by: Bastien Curutchet --- drivers/leds/leds-pca9532.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/leds/leds-pca9532.c b/drivers/leds/leds-pca9532.c index 098fd66ca43e..673d4d5b62bb 100644 --- a/drivers/leds/leds-pca9532.c +++ b/drivers/leds/leds-pca9532.c @@ -53,6 +53,7 @@ struct pca9532_data { #define PCA9532_PWM_ID_1 1 u8 pwm[2]; u8 psc[2]; + bool hw_blink; }; static int pca9532_probe(struct i2c_client *client); @@ -237,8 +238,13 @@ static int pca9532_set_blink(struct led_classdev *led_cdev, unsigned long *delay_on, unsigned long *delay_off) { struct pca9532_led *led = ldev_to_led(led_cdev); + struct i2c_client *client = led->client; + struct pca9532_data *data = i2c_get_clientdata(client); int err; + if (!data->hw_blink) + return -EINVAL; + if (*delay_on == 0 && *delay_off == 0) { /* led subsystem ask us for a blink rate */ *delay_on = 1000; @@ -394,6 +400,7 @@ static int pca9532_configure(struct i2c_client *client, data->psc[i]); } + data->hw_blink = true; for (i = 0; i < data->chip_info->num_leds; i++) { struct pca9532_led *led = &data->leds[i]; struct pca9532_led *pled = &pdata->leds[i]; @@ -428,6 +435,8 @@ static int pca9532_configure(struct i2c_client *client, pca9532_setled(led); break; case PCA9532_TYPE_N2100_BEEP: + /* PWM1 is reserved for beeper so blink will not use hardware */ + data->hw_blink = false; BUG_ON(data->idev); led->state = PCA9532_PWM1; pca9532_setled(led); From patchwork Thu Jul 11 12:01:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bastien Curutchet X-Patchwork-Id: 812170 Received: from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net [217.70.183.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 636CB15B132; Thu, 11 Jul 2024 12:01:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720699306; cv=none; b=G+S54PiiZy358pSycT/ja2+bPSEBBM9SAvtOPJA2V+THjzu21pVs3U3JuCFNHVRKzHERMNA7Xwu6yTToZ8OzTZvd5TSCBZqJxzBQArayHRFy6JyAP1NCpc3yLrRm2ooo94LHCiX+3E7rLVun9ulvbEt+E+lvczQcN6lja6G02eA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720699306; c=relaxed/simple; bh=WTkg1mmgyGocCrar+ee2VYEL/M+E17Wy5b+DjTXF+58=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ocxqMxBNT7tiKxdWKPHyIFKqzdEZvwREUxJLDpG+E4yOapUjSTTw6ehlzn2P6ShhKzKujx5rs9AA26+SKCb2HfqGuDcP8cP7dzEVxF6BbgWUspbwYzoxxpb/4kPkW0NCDtwtn9rSovVhILSXmPTB2Emwk6+ML6HYJrb6FcdpvHQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=Gz+HaNbY; arc=none smtp.client-ip=217.70.183.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="Gz+HaNbY" Received: by mail.gandi.net (Postfix) with ESMTPA id 31D451BF209; Thu, 11 Jul 2024 12:01:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1720699297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DJ4IeC2D0EH+zGYad7gYb+CYdBtZS62UIycZ5DawOR0=; b=Gz+HaNbYo0ZIQZzoiz+O/Uio2B5dqHZPbrlYFGLXki0XtO1W3Z7gk+svTYExfH+D3y264X 20I7XTbVSG346NlQfFb/FHpsgIbvj1OqqHky/0NO12XIyf3VeeM/Jxu1YtQDuyWrWh4MRM 7MRlCOPGVwSGC6OdtJVlQQ+VJfUPc2adrD+UWQxEX5E4o5pTqamTIDTyyj82bReOUx4bUR Pw/1CM2VPmjJ+lA47DvB2Z4kfUXdYNfP0NGIVqnKfnaQE8Imxb6OJva1SaFg4L7bXm+zs2 Xiyr3Ld84j5LRVKKHnWboz6q8NtmzWW49xeWIx0fMip8eUxBNBdoAQo9xsnwGQ== From: Bastien Curutchet To: Riku Voipio , Pavel Machek , Lee Jones Cc: linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org, Thomas Petazzoni , Herve Codina , Christopher Cordahi , Bastien Curutchet Subject: [PATCH v3 4/4] leds: pca9532: Change default blinking frequency to 1Hz Date: Thu, 11 Jul 2024 14:01:29 +0200 Message-ID: <20240711120129.100248-5-bastien.curutchet@bootlin.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20240711120129.100248-1-bastien.curutchet@bootlin.com> References: <20240711120129.100248-1-bastien.curutchet@bootlin.com> Precedence: bulk X-Mailing-List: linux-leds@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-GND-Sasl: bastien.curutchet@bootlin.com Default blinking period is set to 2s. This is too long to be handled by the hardware (maximum is 1.69s). Set the default blinking period to 1s to match what is done in the other LED drivers. Signed-off-by: Bastien Curutchet --- drivers/leds/leds-pca9532.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/leds/leds-pca9532.c b/drivers/leds/leds-pca9532.c index 673d4d5b62bb..266f6e5001be 100644 --- a/drivers/leds/leds-pca9532.c +++ b/drivers/leds/leds-pca9532.c @@ -247,8 +247,8 @@ static int pca9532_set_blink(struct led_classdev *led_cdev, if (*delay_on == 0 && *delay_off == 0) { /* led subsystem ask us for a blink rate */ - *delay_on = 1000; - *delay_off = 1000; + *delay_on = 500; + *delay_off = 500; } err = pca9532_update_hw_blink(led, *delay_on, *delay_off);