pwm: atmel: Use a constant for maximum prescale value
authorUwe Kleine-König <uwe@kleine-koenig.org>
Sat, 24 Aug 2019 00:10:37 +0000 (02:10 +0200)
committerThierry Reding <thierry.reding@gmail.com>
Wed, 8 Jan 2020 12:43:00 +0000 (13:43 +0100)
The maximal prescale value is 10 for all supported variants. So drop the
member in the variant description and introduce a global constant
instead.

This reduces the size of the variant descriptions and the .apply()
callback can be compiled a bit more effectively.

Acked-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-atmel.c

index cd6be47..199255b 100644 (file)
@@ -50,6 +50,8 @@
 #define PWMV2_CPRD             0x0C
 #define PWMV2_CPRDUPD          0x10
 
+#define PWM_MAX_PRES           10
+
 struct atmel_pwm_registers {
        u8 period;
        u8 period_upd;
@@ -59,7 +61,6 @@ struct atmel_pwm_registers {
 
 struct atmel_pwm_config {
        u32 max_period;
-       u32 max_pres;
 };
 
 struct atmel_pwm_data {
@@ -126,7 +127,7 @@ static int atmel_pwm_calculate_cprd_and_pres(struct pwm_chip *chip,
        for (*pres = 0; cycles > atmel_pwm->data->cfg.max_period; cycles >>= 1)
                (*pres)++;
 
-       if (*pres > atmel_pwm->data->cfg.max_pres) {
+       if (*pres > PWM_MAX_PRES) {
                dev_err(chip->dev, "pres exceeds the maximum value\n");
                return -EINVAL;
        }
@@ -289,7 +290,6 @@ static const struct atmel_pwm_data atmel_sam9rl_pwm_data = {
        .cfg = {
                /* 16 bits to keep period and duty. */
                .max_period     = 0xffff,
-               .max_pres       = 10,
        },
 };
 
@@ -303,7 +303,6 @@ static const struct atmel_pwm_data atmel_sama5_pwm_data = {
        .cfg = {
                /* 16 bits to keep period and duty. */
                .max_period     = 0xffff,
-               .max_pres       = 10,
        },
 };
 
@@ -317,7 +316,6 @@ static const struct atmel_pwm_data mchp_sam9x60_pwm_data = {
        .cfg = {
                /* 32 bits to keep period and duty. */
                .max_period     = 0xffffffff,
-               .max_pres       = 10,
        },
 };