[media] omap3isp: csiphy: Fix an uninitialized variable compiler warning
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Tue, 11 Dec 2012 12:11:52 +0000 (09:11 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 27 Dec 2012 19:35:11 +0000 (17:35 -0200)
drivers/media/platform/omap3isp/ispcsiphy.c: In function
‘csiphy_routing_cfg’:
drivers/media/platform/omap3isp/ispcsiphy.c:71:57: warning: ‘shift’
may be used uninitialized in this function [-Wuninitialized]
drivers/media/platform/omap3isp/ispcsiphy.c:40:6: note: ‘shift’ was
declared here
The warning is a false positive but the compiler is right in
complaining. Fix it by using the correct enum data type for the iface
argument and adding a default case in the switch statement.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/platform/omap3isp/ispcsiphy.c

index 3d56b33..c09de32 100644 (file)
@@ -32,7 +32,8 @@
 #include "ispreg.h"
 #include "ispcsiphy.h"
 
-static void csiphy_routing_cfg_3630(struct isp_csiphy *phy, u32 iface,
+static void csiphy_routing_cfg_3630(struct isp_csiphy *phy,
+                                   enum isp_interface_type iface,
                                    bool ccp2_strobe)
 {
        u32 reg = isp_reg_readl(
@@ -40,6 +41,8 @@ static void csiphy_routing_cfg_3630(struct isp_csiphy *phy, u32 iface,
        u32 shift, mode;
 
        switch (iface) {
+       default:
+       /* Should not happen in practice, but let's keep the compiler happy. */
        case ISP_INTERFACE_CCP2B_PHY1:
                reg &= ~OMAP3630_CONTROL_CAMERA_PHY_CTRL_CSI1_RX_SEL_PHY2;
                shift = OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_PHY1_SHIFT;
@@ -59,9 +62,8 @@ static void csiphy_routing_cfg_3630(struct isp_csiphy *phy, u32 iface,
        }
 
        /* Select data/clock or data/strobe mode for CCP2 */
-       switch (iface) {
-       case ISP_INTERFACE_CCP2B_PHY1:
-       case ISP_INTERFACE_CCP2B_PHY2:
+       if (iface == ISP_INTERFACE_CCP2B_PHY1 ||
+           iface == ISP_INTERFACE_CCP2B_PHY2) {
                if (ccp2_strobe)
                        mode = OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_CCP2_DATA_STROBE;
                else
@@ -110,7 +112,8 @@ static void csiphy_routing_cfg_3430(struct isp_csiphy *phy, u32 iface, bool on,
  * and 3630, so they will not hold their contents in off-mode. This isn't an
  * issue since the MPU power domain is forced on whilst the ISP is in use.
  */
-static void csiphy_routing_cfg(struct isp_csiphy *phy, u32 iface, bool on,
+static void csiphy_routing_cfg(struct isp_csiphy *phy,
+                              enum isp_interface_type iface, bool on,
                               bool ccp2_strobe)
 {
        if (phy->isp->mmio_base[OMAP3_ISP_IOMEM_3630_CONTROL_CAMERA_PHY_CTRL]