[media] solo6x10: fix sparse warnings
authorHans Verkuil <hans.verkuil@cisco.com>
Wed, 20 Aug 2014 19:27:38 +0000 (16:27 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Wed, 3 Sep 2014 11:55:39 +0000 (08:55 -0300)
drivers/media/pci/solo6x10/solo6x10-disp.c:184:24: warning: incorrect type in assignment (different base types)
drivers/media/pci/solo6x10/solo6x10-disp.c:223:32: warning: incorrect type in assignment (different base types)

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/pci/solo6x10/solo6x10-disp.c
drivers/media/pci/solo6x10/solo6x10-eeprom.c
drivers/media/pci/solo6x10/solo6x10.h

index 5ea9cac..11c98f0 100644 (file)
@@ -172,7 +172,7 @@ static void solo_vout_config(struct solo_dev *solo_dev)
 static int solo_dma_vin_region(struct solo_dev *solo_dev, u32 off,
                               u16 val, int reg_size)
 {
-       u16 *buf;
+       __le16 *buf;
        const int n = 64, size = n * sizeof(*buf);
        int i, ret = 0;
 
@@ -211,7 +211,7 @@ int solo_set_motion_block(struct solo_dev *solo_dev, u8 ch,
 {
        const unsigned size = sizeof(u16) * 64;
        u32 off = SOLO_MOT_FLAG_AREA + ch * SOLO_MOT_THRESH_SIZE * 2;
-       u16 *buf;
+       __le16 *buf;
        int x, y;
        int ret = 0;
 
index af40b3a..da25ce4 100644 (file)
@@ -100,7 +100,7 @@ unsigned int solo_eeprom_ewen(struct solo_dev *solo_dev, int w_en)
        return retval;
 }
 
-unsigned short solo_eeprom_read(struct solo_dev *solo_dev, int loc)
+__be16 solo_eeprom_read(struct solo_dev *solo_dev, int loc)
 {
        int read_cmd = loc | (EE_READ_CMD << ADDR_LEN);
        unsigned short retval = 0;
@@ -117,11 +117,11 @@ unsigned short solo_eeprom_read(struct solo_dev *solo_dev, int loc)
 
        solo_eeprom_reg_write(solo_dev, ~EE_CS);
 
-       return retval;
+       return (__force __be16)retval;
 }
 
 int solo_eeprom_write(struct solo_dev *solo_dev, int loc,
-                     unsigned short data)
+                     __be16 data)
 {
        int write_cmd = loc | (EE_WRITE_CMD << ADDR_LEN);
        unsigned int retval;
@@ -130,7 +130,7 @@ int solo_eeprom_write(struct solo_dev *solo_dev, int loc,
        solo_eeprom_cmd(solo_dev, write_cmd);
 
        for (i = 15; i >= 0; i--) {
-               unsigned int dataval = (data >> i) & 1;
+               unsigned int dataval = ((__force unsigned)data >> i) & 1;
 
                solo_eeprom_reg_write(solo_dev, EE_ENB);
                solo_eeprom_reg_write(solo_dev,
index c6154b0..72017b7 100644 (file)
@@ -394,9 +394,9 @@ int solo_osd_print(struct solo_enc_dev *solo_enc);
 
 /* EEPROM commands */
 unsigned int solo_eeprom_ewen(struct solo_dev *solo_dev, int w_en);
-unsigned short solo_eeprom_read(struct solo_dev *solo_dev, int loc);
+__be16 solo_eeprom_read(struct solo_dev *solo_dev, int loc);
 int solo_eeprom_write(struct solo_dev *solo_dev, int loc,
-                     unsigned short data);
+                     __be16 data);
 
 /* JPEG Qp functions */
 void solo_s_jpeg_qp(struct solo_dev *solo_dev, unsigned int ch,