Re: [PATCH v3 1/3] staging: r8188eu: remove _io_ops structure

From: Greg Kroah-Hartman
Date: Mon Sep 06 2021 - 09:56:50 EST


On Sun, Sep 05, 2021 at 12:00:46AM +0200, Fabio M. De Francesco wrote:
> -void _rtw_read_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem)
> -{
> - void (*_read_mem)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *pmem);
> - struct io_priv *pio_priv = &adapter->iopriv;
> - struct intf_hdl *pintfhdl = &pio_priv->intf;
> -
> -
> - if (adapter->bDriverStopped || adapter->bSurpriseRemoved)
> - return;
> - _read_mem = pintfhdl->io_ops._read_mem;
> - _read_mem(pintfhdl, addr, cnt, pmem);
> -
> -}

This is odd, in that it resolves down to usb_read_mem which does
nothing at all.

And then no one calls this at all either?

How about removing the io ops that are not used at all first, one at a
time, making it obvious what is happening, and then convert the ones
that are used one at a time, and when all is done, then removing the
structure?

That makes it obvious what is happening and much much easier to review
for correctness.

thanks,

greg k-h