Message ID | 20191124094306.21297-4-tranmanphong@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fix -Wcast-function-type net drivers | expand |
On 11/24/19 3:43 AM, Phong Tran wrote: > correct usage prototype of callback in tasklet_init(). > Report by https://github.com/KSPP/linux/issues/20 > > Signed-off-by: Phong Tran <tranmanphong@gmail.com> > --- > drivers/net/wireless/broadcom/b43legacy/main.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) The subject should be "b43legacy: .....". Otherwise it is OK. Tested-by: Larry Finger <Larry.Finger@lwfinger.net> Larry > > diff --git a/drivers/net/wireless/broadcom/b43legacy/main.c b/drivers/net/wireless/broadcom/b43legacy/main.c > index 4325e91736eb..8b6b657c4b85 100644 > --- a/drivers/net/wireless/broadcom/b43legacy/main.c > +++ b/drivers/net/wireless/broadcom/b43legacy/main.c > @@ -1275,8 +1275,9 @@ static void handle_irq_ucode_debug(struct b43legacy_wldev *dev) > } > > /* Interrupt handler bottom-half */ > -static void b43legacy_interrupt_tasklet(struct b43legacy_wldev *dev) > +static void b43legacy_interrupt_tasklet(unsigned long data) > { > + struct b43legacy_wldev *dev = (struct b43legacy_wldev *)data; > u32 reason; > u32 dma_reason[ARRAY_SIZE(dev->dma_reason)]; > u32 merged_dma_reason = 0; > @@ -3741,7 +3742,7 @@ static int b43legacy_one_core_attach(struct ssb_device *dev, > b43legacy_set_status(wldev, B43legacy_STAT_UNINIT); > wldev->bad_frames_preempt = modparam_bad_frames_preempt; > tasklet_init(&wldev->isr_tasklet, > - (void (*)(unsigned long))b43legacy_interrupt_tasklet, > + b43legacy_interrupt_tasklet, > (unsigned long)wldev); > if (modparam_pio) > wldev->__using_pio = true; >
diff --git a/drivers/net/wireless/broadcom/b43legacy/main.c b/drivers/net/wireless/broadcom/b43legacy/main.c index 4325e91736eb..8b6b657c4b85 100644 --- a/drivers/net/wireless/broadcom/b43legacy/main.c +++ b/drivers/net/wireless/broadcom/b43legacy/main.c @@ -1275,8 +1275,9 @@ static void handle_irq_ucode_debug(struct b43legacy_wldev *dev) } /* Interrupt handler bottom-half */ -static void b43legacy_interrupt_tasklet(struct b43legacy_wldev *dev) +static void b43legacy_interrupt_tasklet(unsigned long data) { + struct b43legacy_wldev *dev = (struct b43legacy_wldev *)data; u32 reason; u32 dma_reason[ARRAY_SIZE(dev->dma_reason)]; u32 merged_dma_reason = 0; @@ -3741,7 +3742,7 @@ static int b43legacy_one_core_attach(struct ssb_device *dev, b43legacy_set_status(wldev, B43legacy_STAT_UNINIT); wldev->bad_frames_preempt = modparam_bad_frames_preempt; tasklet_init(&wldev->isr_tasklet, - (void (*)(unsigned long))b43legacy_interrupt_tasklet, + b43legacy_interrupt_tasklet, (unsigned long)wldev); if (modparam_pio) wldev->__using_pio = true;
correct usage prototype of callback in tasklet_init(). Report by https://github.com/KSPP/linux/issues/20 Signed-off-by: Phong Tran <tranmanphong@gmail.com> --- drivers/net/wireless/broadcom/b43legacy/main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)