Skip to contentSkip to conversation

Remove explicit return type cast

PATCH In review Hari Prasath 3 participants 5 messages Aug 2, 2017 – Aug 8, 2017 Staging

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Remove explicit return type cast

Remove explicit typecasting of return value in the interrupt handlers.

---
 drivers/staging/pi433/pi433_if.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/staging/pi433/pi433_if.c +2 -2
index ed737f4..95f3ef9 100644
@@ -151,7 +151,7 @@ DIO0_irq_handler(unsigned int irq, void *dev_id, struct pt_regs *regs)
 		wake_up_interruptible(&device->fifo_wait_queue);
 	}
 
-	return (irq_handler_t) IRQ_HANDLED;
+	return IRQ_HANDLED;
 }
 
 static irq_handler_t
@@ -171,7 +171,7 @@ DIO1_irq_handler(unsigned int irq, void *dev_id, struct pt_regs *regs)
 	printk("DIO1 irq: %d bytes free in fifo\n", device->free_in_fifo); // TODO: printk() should include KERN_ facility level
 	wake_up_interruptible(&device->fifo_wait_queue);
 
-	return (irq_handler_t) IRQ_HANDLED;
+	return IRQ_HANDLED;
 }
 
 static void *DIO_irq_handler[NUM_DIO] = {
Signature · 1 line
2.10.0.GIT
#1 lore raw
url: https://github.com/0day-ci/linux/commits/Hari-Prasath/Remove-explicit-return-type-cast/20170803-080312 config: blackfin-allyesconfig (attached as .config) compiler: bfin-uclinux-gcc (GCC) 6.2.0…

Hi Hari,

[auto build test WARNING on staging/staging-testing]
[also build test WARNING on next-20170802]
[cannot apply to v4.13-rc3]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Hari-Prasath/Remove-explicit-return-type-cast/20170803-080312
config: blackfin-allyesconfig (attached as .config)
compiler: bfin-uclinux-gcc (GCC) 6.2.0
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=blackfin

All warnings (new ones prefixed by >>):

drivers/staging/pi433/pi433_if.c: In function 'DIO0_irq_handler':

>> drivers/staging/pi433/pi433_if.c:154:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return IRQ_HANDLED;
            ^~~~~~~~~~~
   drivers/staging/pi433/pi433_if.c: In function 'DIO1_irq_handler':
   drivers/staging/pi433/pi433_if.c:174:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return IRQ_HANDLED;
            ^~~~~~~~~~~

vim +154 drivers/staging/pi433/pi433_if.c

129
130 /* GPIO interrupt handlers */
131 static irq_handler_t
132 DIO0_irq_handler(unsigned int irq, void *dev_id, struct pt_regs *regs)
133 {
134 struct pi433_device *device = dev_id;
135
136 if (device->irq_state[DIO0] == DIO_PacketSent)
137 {
138 device->free_in_fifo = FIFO_SIZE;
139 printk("DIO0 irq: Packet sent\n"); // TODO: printk() should include KERN_ facility level
140 wake_up_interruptible(&device->fifo_wait_queue);
141 }
142 else if (device->irq_state[DIO0] == DIO_Rssi_DIO0)
143 {
144 printk("DIO0 irq: RSSI level over threshold\n");
145 wake_up_interruptible(&device->rx_wait_queue);
146 }
147 else if (device->irq_state[DIO0] == DIO_PayloadReady)
148 {
149 printk("DIO0 irq: PayloadReady\n");
150 device->free_in_fifo = 0;
151 wake_up_interruptible(&device->fifo_wait_queue);
152 }
153

 > 154		return IRQ_HANDLED;

155 }
156

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

#2 lore raw
Quoted 7 lines · kbuild test robot

Hi Hari,

[auto build test WARNING on staging/staging-testing]
[also build test WARNING on next-20170802]
[cannot apply to v4.13-rc3]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

Quoted 11 lines

url: https://github.com/0day-ci/linux/commits/Hari-Prasath/Remove-explicit-return-type-cast/20170803-080312
config: blackfin-allyesconfig (attached as .config)
compiler: bfin-uclinux-gcc (GCC) 6.2.0
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=blackfin

Quoted 1 line

I tried these steps, it's giving me build error as below.

CC security/selinux/exports.o
CC security/apparmor/file.o
fs/ubifs/lpt_commit.c: In function 'next_pnode_to_dirty':
fs/ubifs/lpt_commit.c:617:1: internal compiler error: in bfin_optimize_loop, at config/bfin/bfin.c:3978
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions. scripts/Makefile.build:302: recipe for target 'fs/ubifs/lpt_commit.o' failed make[2]: *** [fs/ubifs/lpt_commit.o] Error 1
make[2]: *** Waiting for unfinished jobs....

Quoted 45 lines

All warnings (new ones prefixed by >>):

   drivers/staging/pi433/pi433_if.c: In function 'DIO0_irq_handler':
Quoted 1 line
Quoted 1 line

drivers/staging/pi433/pi433_if.c:154:9: warning: return makes pointer from integer without a cast [-Wint-conversion]

     return IRQ_HANDLED;
            ^~~~~~~~~~~
   drivers/staging/pi433/pi433_if.c: In function 'DIO1_irq_handler':
   drivers/staging/pi433/pi433_if.c:174:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return IRQ_HANDLED;
            ^~~~~~~~~~~

vim +154 drivers/staging/pi433/pi433_if.c

   129
   130  /* GPIO interrupt handlers */
   131  static irq_handler_t
   132  DIO0_irq_handler(unsigned int irq, void *dev_id, struct pt_regs *regs)
   133  {
   134          struct pi433_device *device = dev_id;
   135
   136          if      (device->irq_state[DIO0] == DIO_PacketSent)
   137          {
   138                  device->free_in_fifo = FIFO_SIZE;
   139                  printk("DIO0 irq: Packet sent\n"); // TODO: printk() should include KERN_ facility level
   140                  wake_up_interruptible(&device->fifo_wait_queue);
   141          }
   142          else if (device->irq_state[DIO0] == DIO_Rssi_DIO0)
   143          {
   144                  printk("DIO0 irq: RSSI level over threshold\n");
   145                  wake_up_interruptible(&device->rx_wait_queue);
   146          }
   147          else if (device->irq_state[DIO0] == DIO_PayloadReady)
   148          {
   149                  printk("DIO0 irq: PayloadReady\n");
   150                  device->free_in_fifo = 0;
   151                  wake_up_interruptible(&device->fifo_wait_queue);
   152          }
   153
Quoted 1 line

154 return IRQ_HANDLED;

155 }
156

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Signature · 2 lines
Regards,
G.E.Hari Prasath
#3 lore raw
Quoted 18 lines · hari prasath
Quoted 16 lines · kbuild test robot

Hi Hari,

[auto build test WARNING on staging/staging-testing]
[also build test WARNING on next-20170802]
[cannot apply to v4.13-rc3]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Hari-Prasath/Remove-explicit-return-type-cast/20170803-080312
config: blackfin-allyesconfig (attached as .config)
compiler: bfin-uclinux-gcc (GCC) 6.2.0
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=blackfin

Quoted 2 lines
Quoted 1 line
Quoted 1 line

I tried these steps, it's giving me build error as below.

You don't need to cross compile on blackfin to get the warning. Just use the normal compiler.

regards,
dan carpenter

#4 lore raw
Quoted 32 lines · Dan Carpenter
Quoted 18 lines · hari prasath
Quoted 16 lines · kbuild test robot

Hi Hari,

[auto build test WARNING on staging/staging-testing]
[also build test WARNING on next-20170802]
[cannot apply to v4.13-rc3]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Hari-Prasath/Remove-explicit-return-type-cast/20170803-080312
config: blackfin-allyesconfig (attached as .config)
compiler: bfin-uclinux-gcc (GCC) 6.2.0
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=blackfin

Quoted 2 lines
Quoted 1 line
Quoted 1 line

I tried these steps, it's giving me build error as below.

You don't need to cross compile on blackfin to get the warning. Just use the normal compiler.

regards,
dan carpenter

Sorry, I had sent the patch in a hurry. Yes the warning is true. I will try to come up with a v2 of the patch without any warnings. As of now this can be discarded.
thanks,
hari prasath

Signature · 2 lines
Regards,
G.E.Hari Prasath