• Marek Vasut's avatar
    net: ks8851-ml: Remove 8-bit bus accessors · 2db02153
    Marek Vasut authored
    [ Upstream commit 69233bba ]
    
    This driver is mixing 8-bit and 16-bit bus accessors for reasons unknown,
    however the speculation is that this was some sort of attempt to support
    the 8-bit bus mode.
    
    As per the KS8851-16MLL documentation, all two registers accessed via the
    8-bit accessors are internally 16-bit registers, so reading them using
    16-bit accessors is fine. The KS_CCR read can be converted to 16-bit read
    outright, as it is already a concatenation of two 8-bit reads of that
    register. The KS_RXQCR accesses are 8-bit only, however writing the top
    8 bits of the register is OK as well, since the driver caches the entire
    16-bit register value anyway.
    
    Finally, the driver is not used by any hardware in the kernel right now.
    The only hardware available to me is one with 16-bit bus, so I have no
    way to test the 8-bit bus mode, however it is unlikely this ever really
    worked anyway. If the 8-bit bus mode is ever required, it can be easily
    added by adjusting the 16-bit accessors to do 2 consecutive accesses,
    which is how this should have been done from the beginning.
    Signed-off-by: default avatarMarek Vasut <marex@denx.de>
    Cc: David S. Miller <davem@davemloft.net>
    Cc: Lukas Wunner <lukas@wunner.de>
    Cc: Petr Stetiar <ynezz@true.cz>
    Cc: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    2db02153
ks8851_mll.c 41.6 KB