[COMMON] pwm: pwm-samsung: Fix Prevent defect
authorJaehyoung Choi <jkkkkk.choi@samsung.com>
Thu, 23 Nov 2017 10:06:23 +0000 (19:06 +0900)
committerJaehyoung Choi <jkkkkk.choi@samsung.com>
Wed, 9 May 2018 11:27:49 +0000 (20:27 +0900)
CID[202165], CID[202131], CID[202076]
Fix Invalid Assignment issue

Change-Id: I73e984c0eff678740ecb41601d493aef26c33b0e
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
drivers/pwm/pwm-samsung.c

index 05cf1910496aedd49a1ded0d60ee7228f5cae980..8038e8d8ea26e123a25a0816da29e3d0dbdb5c30 100755 (executable)
  * In addition, the location of autoreload bit for channel 4 (TCON channel 5)
  * in its set of bits is 2 as opposed to 3 for other channels.
  */
-#define TCON_START(chan)               BIT(4 * (chan) + 0)
-#define TCON_MANUALUPDATE(chan)                BIT(4 * (chan) + 1)
-#define TCON_INVERT(chan)              BIT(4 * (chan) + 2)
-#define _TCON_AUTORELOAD(chan)         BIT(4 * (chan) + 3)
-#define _TCON_AUTORELOAD4(chan)                BIT(4 * (chan) + 2)
+#define PWM_BIT(nr)                    (1U << (nr))
+#define TCON_START(chan)               PWM_BIT(4 * (chan) + 0)
+#define TCON_MANUALUPDATE(chan)                PWM_BIT(4 * (chan) + 1)
+#define TCON_INVERT(chan)              PWM_BIT(4 * (chan) + 2)
+#define _TCON_AUTORELOAD(chan)         PWM_BIT(4 * (chan) + 3)
+#define _TCON_AUTORELOAD4(chan)                PWM_BIT(4 * (chan) + 2)
 #define TCON_AUTORELOAD(chan)          \
        ((chan < 5) ? _TCON_AUTORELOAD(chan) : _TCON_AUTORELOAD4(chan))
 
@@ -426,7 +427,7 @@ static int __pwm_samsung_config(struct pwm_chip *chip, struct pwm_device *pwm,
                unsigned long tin_rate;
                u32 period;
 
-               period = NSEC_PER_SEC / period_ns;
+               period = (unsigned int)(NSEC_PER_SEC / period_ns);
 
                dev_dbg(our_chip->chip.dev, "duty_ns=%d, period_ns=%d (%u)\n",
                                                duty_ns, period_ns, period);
@@ -436,7 +437,7 @@ static int __pwm_samsung_config(struct pwm_chip *chip, struct pwm_device *pwm,
                if(!tin_rate)
                        return -EINVAL;
 
-               tin_ns = NSEC_PER_SEC / tin_rate;
+               tin_ns = (unsigned int)(NSEC_PER_SEC / tin_rate);
        }
 
        /* Note that counters count down. */