Files
linux/drivers
Vivien Didelot 855b193290 net: dsa: mv88e6xxx: rework EEPROM access
The 6352 family of switches and compatibles provide a 8-bit address and
16-bit data access to an optional EEPROM.

Newer chip such as the 6390 family slightly changed the access to 16-bit
address and 8-bit data.

This commit cleans up the EEPROM access code for 16-bit access and makes
it easy to eventually introduce future support for 8-bit access.

Here's a list of notable changes brought by this patch:

  - provide Global2 unlocked helpers for EEPROM commands
  - remove eeprom_mutex, only reg_lock is necessary for driver functions
  - eeprom_len is 0 for chip without EEPROM, so return it directly
  - the Running bit must be 0 before r/w, so wait for Busy *and* Running
  - remove now unused mv88e6xxx_wait and mv88e6xxx_reg_write
  - other than that, the logic (in _{get,set}_eeprom16) didn't change

Chips with an 8-bit EEPROM access will require to implement the
8-suffixed variant of G2 helpers and the related flag:

    #define MV88E6XXX_FLAGS_EEPROM8	\
    	(MV88E6XXX_FLAG_G2_EEPROM_CMD |	\
    	 MV88E6XXX_FLAG_G2_EEPROM_ADDR)

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-20 21:10:54 -07:00
..
…
…
2016-05-31 22:17:05 +05:30
…
…
…
2016-06-09 22:38:16 +02:00
…
…
2016-06-23 00:29:32 +02:00
…
2016-06-09 14:28:28 -06:00
2016-05-27 15:26:11 -07:00
2016-04-30 13:56:46 -07:00
2016-06-15 09:51:35 +01:00
…
…
2016-05-29 22:32:27 -07:00
…
2016-05-20 18:33:37 -07:00
…
…
…
2016-06-07 15:56:31 -07:00
2016-04-30 14:15:56 -07:00
…
2016-05-01 14:11:12 -07:00
…
2016-05-31 21:25:52 -06:00
2016-07-01 05:32:17 -04:00
2016-05-31 08:20:43 +03:00
…