sfc: Use kernel I2C system and i2c-algo-bit driver
Remove our own implementation of I2C bit-banging. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
committed by
Jeff Garzik
parent
9e833be3a1
commit
37b5a60335
@@ -26,10 +26,10 @@
|
||||
#include <linux/highmem.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/inet_lro.h>
|
||||
#include <linux/i2c.h>
|
||||
|
||||
#include "enum.h"
|
||||
#include "bitfield.h"
|
||||
#include "i2c-direct.h"
|
||||
|
||||
#define EFX_MAX_LRO_DESCRIPTORS 8
|
||||
#define EFX_MAX_LRO_AGGR MAX_SKB_FRAGS
|
||||
@@ -418,7 +418,10 @@ struct efx_blinker {
|
||||
* @init_leds: Sets up board LEDs
|
||||
* @set_fault_led: Turns the fault LED on or off
|
||||
* @blink: Starts/stops blinking
|
||||
* @fini: Cleanup function
|
||||
* @blinker: used to blink LEDs in software
|
||||
* @hwmon_client: I2C client for hardware monitor
|
||||
* @ioexp_client: I2C client for power/port control
|
||||
*/
|
||||
struct efx_board {
|
||||
int type;
|
||||
@@ -431,7 +434,9 @@ struct efx_board {
|
||||
int (*init_leds)(struct efx_nic *efx);
|
||||
void (*set_fault_led) (struct efx_nic *efx, int state);
|
||||
void (*blink) (struct efx_nic *efx, int start);
|
||||
void (*fini) (struct efx_nic *nic);
|
||||
struct efx_blinker blinker;
|
||||
struct i2c_client *hwmon_client, *ioexp_client;
|
||||
};
|
||||
|
||||
#define STRING_TABLE_LOOKUP(val, member) \
|
||||
@@ -618,7 +623,7 @@ union efx_multicast_hash {
|
||||
* @membase: Memory BAR value
|
||||
* @biu_lock: BIU (bus interface unit) lock
|
||||
* @interrupt_mode: Interrupt mode
|
||||
* @i2c: I2C interface
|
||||
* @i2c_adap: I2C adapter
|
||||
* @board_info: Board-level information
|
||||
* @state: Device state flag. Serialised by the rtnl_lock.
|
||||
* @reset_pending: Pending reset method (normally RESET_TYPE_NONE)
|
||||
@@ -686,7 +691,7 @@ struct efx_nic {
|
||||
spinlock_t biu_lock;
|
||||
enum efx_int_mode interrupt_mode;
|
||||
|
||||
struct efx_i2c_interface i2c;
|
||||
struct i2c_adapter i2c_adap;
|
||||
struct efx_board board_info;
|
||||
|
||||
enum nic_state state;
|
||||
|
Reference in New Issue
Block a user