
20 Oct
2014
20 Oct
'14
10 p.m.
On Mon, Oct 20, 2014 at 01:11:48PM -0500, Andrew Ruder wrote:
The DM9000 was hard-coded to only support one DM9000 device. This patch adds a new initialization function - dm9000_initialize_ex() - to support registering multiple (and possibly dynamic) numbers of dm9000 devices. This patch consists of:
- Change the board_info struct to a private struct under eth_device.
- Add io address/data address/srom availability information to this private struct.
- Replace all uses of DM9000_IO/DM9000_DATA with new members, ensure that the eth_device struct propagates down to all helper functions.
- Make dm9000_initialize() call dm9000_initialize_ex() with filled in information from the old preprocessor symbols (DM9000_IO, DM9000_DATA, etc.)
So, on new platforms we call dm9000_initialize with the right IO/DATA locations for the given device, yes? I think I'd rather update everyone else to call things the right and new way, rather than work-around supporting both.
--
Tom