Home
last modified time | relevance | path

Searched full:slave (Results 1 – 25 of 1360) sorted by relevance

12345678910>>...55

/linux/include/net/
H A Dbonding.h43 netdev_info(bond_dev, "(slave %s): " fmt, (slave_dev)->name, ##__VA_ARGS__)
45 netdev_warn(bond_dev, "(slave %s): " fmt, (slave_dev)->name, ##__VA_ARGS__)
47 netdev_dbg(bond_dev, "(slave %s): " fmt, (slave_dev)->name, ##__VA_ARGS__)
49 netdev_err(bond_dev, "(slave %s): " fmt, (slave_dev)->name, ##__VA_ARGS__)
53 /* slave list primitives */
78 * @pos: current slave
159 struct slave {
170 u8 backup:1, /* indicates backup slave. Value corresponds with
172 inactive:1, /* indicates inactive slave */
173 rx_disabled:1, /* indicates whether slave' argument
160 struct slave { global() struct
171 backupslave global() argument
174 rx_disabledslave global() argument
184 ad_infoslave global() argument
185 tlb_infoslave global() argument
191 slave_statsslave global() argument
194 kobjslave to_slave() argument
296 bond_get_bond_by_slave(struct slave * slave) bond_get_bond_by_slave() argument
357 struct slave *slave = rcu_dereference_rtnl(bond->curr_active_slave); bond_option_active_slave_get_rcu() local
362 bond_slave_is_up(struct slave * slave) bond_slave_is_up() argument
367 bond_set_active_slave(struct slave * slave) bond_set_active_slave() argument
376 bond_set_backup_slave(struct slave * slave) bond_set_backup_slave() argument
385 bond_set_slave_state(struct slave * slave,int slave_state,bool notify) bond_set_slave_state() argument
430 bond_slave_state(struct slave * slave) bond_slave_state() argument
435 bond_is_active_slave(struct slave * slave) bond_is_active_slave() argument
440 bond_slave_can_tx(struct slave * slave) bond_slave_can_tx() argument
448 struct slave *slave; bond_is_active_slave_dev() local
495 slave_do_arp_validate(struct bonding * bond,struct slave * slave) slave_do_arp_validate() argument
523 slave_oldest_target_arp_rx(struct bonding * bond,struct slave * slave) slave_oldest_target_arp_rx() argument
536 slave_last_rx(struct bonding * bond,struct slave * slave) slave_last_rx() argument
544 slave_update_last_tx(struct slave * slave) slave_update_last_tx() argument
549 slave_last_tx(struct slave * slave) slave_last_tx() argument
555 bond_netpoll_send_skb(const struct slave * slave,struct sk_buff * skb) bond_netpoll_send_skb() argument
561 bond_netpoll_send_skb(const struct slave * slave,struct sk_buff * skb) bond_netpoll_send_skb() argument
569 bond_set_slave_inactive_flags(struct slave * slave,bool notify) bond_set_slave_inactive_flags() argument
580 bond_set_slave_tx_disabled_flags(struct slave * slave,bool notify) bond_set_slave_tx_disabled_flags() argument
586 bond_set_slave_active_flags(struct slave * slave,bool notify) bond_set_slave_active_flags() argument
595 bond_set_slave_rx_enabled_flags(struct slave * slave,bool notify) bond_set_slave_rx_enabled_flags() argument
601 bond_is_slave_inactive(struct slave * slave) bond_is_slave_inactive() argument
606 bond_is_slave_rx_disabled(struct slave * slave) bond_is_slave_rx_disabled() argument
611 bond_propose_link_state(struct slave * slave,int state) bond_propose_link_state() argument
616 bond_commit_link_state(struct slave * slave,bool notify) bond_commit_link_state() argument
634 bond_set_slave_link_state(struct slave * slave,int state,bool notify) bond_set_slave_link_state() argument
[all...]
H A Dbond_alb.h12 struct slave;
15 #define SLAVE_TLB_INFO(slave) ((slave)->tlb_info) argument
49 /* RLB_PROMISC_TIMEOUT = 10 sec equals the time that the current slave is
56 struct slave *tx_slave; /* A pointer to slave used for transmitting
111 struct slave *slave; /* the slave assigned to this client */ member
119 * slave for transmit.
121 u32 load; /* Each slave sums the loadHistory of all clients
138 struct slave *rx_slave;/* last slave to xmit from */
155 int bond_alb_init_slave(struct bonding *bond, struct slave *slave);
156 void bond_alb_deinit_slave(struct bonding *bond, struct slave *slave);
[all …]
/linux/drivers/net/bonding/
H A Dbond_sysfs_slave.c15 ssize_t (*show)(struct slave *, char *);
21 static ssize_t state_show(struct slave *slave, char *buf) in state_show() argument
23 switch (bond_slave_state(slave)) { in state_show()
34 static ssize_t mii_status_show(struct slave *slave, char *buf) in mii_status_show() argument
36 return sysfs_emit(buf, "%s\n", bond_slave_link_status(slave->link)); in mii_status_show()
40 static ssize_t link_failure_count_show(struct slave *slave, char *buf) in link_failure_count_show() argument
42 return sysfs_emit(buf, "%d\n", slave->link_failure_count); in link_failure_count_show()
46 static ssize_t perm_hwaddr_show(struct slave *slave, char *buf) in perm_hwaddr_show() argument
49 slave->dev->addr_len, in perm_hwaddr_show()
50 slave->perm_hwaddr); in perm_hwaddr_show()
[all …]
H A Dbond_procfs.c16 struct slave *slave; in bond_info_seq_start() local
24 bond_for_each_slave_rcu(bond, slave, iter) in bond_info_seq_start()
26 return slave; in bond_info_seq_start()
35 struct slave *slave; in bond_info_seq_next() local
42 bond_for_each_slave_rcu(bond, slave, iter) { in bond_info_seq_next()
44 return slave; in bond_info_seq_next()
45 if (slave == v) in bond_info_seq_next()
62 struct slave *curr, *primary; in bond_info_show_master()
88 seq_printf(seq, "Primary Slave: %s", in bond_info_show_master()
97 seq_printf(seq, "\nCurrently Active Slave: %s\n", in bond_info_show_master()
[all …]
/linux/drivers/soundwire/
H A Dbus_type.c15 * @slave: SoundWire Slave Device
16 * @drv: SoundWire Slave Driver
22 sdw_get_device_id(struct sdw_slave *slave, const struct sdw_driver *drv) in sdw_get_device_id() argument
27 if (slave->id.mfg_id == id->mfg_id && in sdw_get_device_id()
28 slave->id.part_id == id->part_id && in sdw_get_device_id()
30 slave->id.sdw_version == id->sdw_version) && in sdw_get_device_id()
32 slave->id.class_id == id->class_id)) in sdw_get_device_id()
40 struct sdw_slave *slave; in sdw_bus_match() local
45 slave = dev_to_sdw_dev(dev); in sdw_bus_match()
48 ret = !!sdw_get_device_id(slave, drv); in sdw_bus_match()
[all …]
H A Ddebugfs.c37 static ssize_t sdw_sprintf(struct sdw_slave *slave, in sdw_sprintf() argument
42 value = sdw_read_no_pm(slave, reg); in sdw_sprintf()
53 struct sdw_slave *slave = s_file->private; in sdw_slave_reg_show() local
61 ret = pm_runtime_get_sync(&slave->dev); in sdw_slave_reg_show()
63 pm_runtime_put_noidle(&slave->dev); in sdw_slave_reg_show()
72 ret += sdw_sprintf(slave, buf, ret, i); in sdw_slave_reg_show()
76 ret += sdw_sprintf(slave, buf, ret, SDW_DP0_CHANNELEN); in sdw_slave_reg_show()
78 ret += sdw_sprintf(slave, buf, ret, i); in sdw_slave_reg_show()
82 ret += sdw_sprintf(slave, buf, ret, in sdw_slave_reg_show()
86 ret += sdw_sprintf(slave, buf, ret, i); in sdw_slave_reg_show()
[all …]
H A Dstream.c64 struct sdw_slave *slave, in _sdw_program_slave_port_params() argument
85 ret = sdw_write_no_pm(slave, addr1, t_params->offset2); in _sdw_program_slave_port_params()
94 ret = sdw_write_no_pm(slave, addr2, t_params->blk_pkg_mode); in _sdw_program_slave_port_params()
112 ret = sdw_write_no_pm(slave, addr3, wbuf); in _sdw_program_slave_port_params()
122 ret = sdw_write_no_pm(slave, addr4, wbuf); in _sdw_program_slave_port_params()
135 struct sdw_slave_prop *slave_prop = &s_rt->slave->prop; in sdw_program_slave_port_params()
142 if (s_rt->slave->is_mockup_device) in sdw_program_slave_port_params()
148 dpn_prop = sdw_get_slave_dpn_prop(s_rt->slave, s_rt->direction, in sdw_program_slave_port_params()
180 ret = sdw_update_no_pm(s_rt->slave, addr1, 0xF, wbuf); in sdw_program_slave_port_params()
182 dev_err(&s_rt->slave->dev, in sdw_program_slave_port_params()
[all …]
H A Dirq.c51 struct sdw_slave *slave = data; in sdw_irq_dispose_mapping() local
53 irq_dispose_mapping(slave->irq); in sdw_irq_dispose_mapping()
56 void sdw_irq_create_mapping(struct sdw_slave *slave) in sdw_irq_create_mapping() argument
58 slave->irq = irq_create_mapping(slave->bus->domain, slave->index); in sdw_irq_create_mapping()
59 if (!slave->irq) in sdw_irq_create_mapping()
60 dev_warn(&slave->dev, "Failed to map IRQ\n"); in sdw_irq_create_mapping()
62 devm_add_action_or_reset(&slave->dev, sdw_irq_dispose_mapping, slave); in sdw_irq_create_mapping()
/linux/drivers/fsi/
H A Dfsi-core.c28 #include "fsi-slave.h"
51 * FSI slave engine control register offsets
55 #define FSI_SSTAT 0x14 /* R : Slave status */
126 return fsi_slave_read(dev->slave, dev->addr + addr, val, size); in fsi_device_read()
136 return fsi_slave_write(dev->slave, dev->addr + addr, val, size); in fsi_device_write()
144 return fsi_slave_read(dev->slave, addr, val, sizeof(uint32_t)); in fsi_device_peek()
155 static struct fsi_device *fsi_create_device(struct fsi_slave *slave) in fsi_create_device() argument
163 dev->dev.parent = &slave->dev; in fsi_create_device()
170 /* FSI slave support */
171 static int fsi_slave_calc_addr(struct fsi_slave *slave, uint32_t *addrp, in fsi_slave_calc_addr() argument
[all …]
/linux/drivers/net/ethernet/mellanox/mlx4/
H A Dresource_tracker.c306 static void rem_slave_vlans(struct mlx4_dev *dev, int slave);
307 static inline int mlx4_grant_resource(struct mlx4_dev *dev, int slave, in mlx4_grant_resource() argument
318 if (slave > dev->persist->num_vfs) in mlx4_grant_resource()
324 (dev->persist->num_vfs + 1) + slave] : in mlx4_grant_resource()
325 res_alloc->allocated[slave]; in mlx4_grant_resource()
330 guaranteed = res_alloc->guaranteed[slave]; in mlx4_grant_resource()
332 if (allocated + count > res_alloc->quota[slave]) { in mlx4_grant_resource()
334 slave, port, resource_str(res_type), count, in mlx4_grant_resource()
335 allocated, res_alloc->quota[slave]); in mlx4_grant_resource()
355 slave, port, resource_str(res_type), free, in mlx4_grant_resource()
[all …]
H A Dcmd.c136 static int mlx4_master_process_vhcr(struct mlx4_dev *dev, int slave,
318 /* check if the slave is trying to boot in the middle of in mlx4_comm_cmd_poll()
813 int slave, u64 slave_addr, in mlx4_ACCESS_MEM() argument
820 (slave & ~0x7f) | (size & 0xff)) { in mlx4_ACCESS_MEM()
822 slave_addr, master_addr, slave, size); in mlx4_ACCESS_MEM()
827 in_param = (u64) slave | slave_addr; in mlx4_ACCESS_MEM()
831 out_param = (u64) slave | slave_addr; in mlx4_ACCESS_MEM()
891 static int mlx4_MAD_IFC_wrapper(struct mlx4_dev *dev, int slave, in mlx4_MAD_IFC_wrapper() argument
912 port = mlx4_slave_convert_port(dev, slave, slave_port); in mlx4_MAD_IFC_wrapper()
938 pidx = priv->virt2phys_pkey[slave][port - 1][vidx]; in mlx4_MAD_IFC_wrapper()
[all …]
H A Deq.c147 u8 slave; in mlx4_gen_slave_eqe() local
152 slave = eqe->slave_id; in mlx4_gen_slave_eqe()
166 if (slave == ALL_SLAVES) { in mlx4_gen_slave_eqe()
178 mlx4_warn(dev, "Failed to generate event for slave %d\n", in mlx4_gen_slave_eqe()
184 if (mlx4_GEN_EQE(dev, slave, eqe)) in mlx4_gen_slave_eqe()
185 mlx4_warn(dev, "Failed to generate event for slave %d\n", in mlx4_gen_slave_eqe()
186 slave); in mlx4_gen_slave_eqe()
194 static void slave_event(struct mlx4_dev *dev, u8 slave, struct mlx4_eqe *eqe) in slave_event() argument
205 …mlx4_warn(dev, "Master failed to generate an EQE for slave: %d. No free EQE on slave events queue\… in slave_event()
206 slave); in slave_event()
[all …]
H A Dmlx4.h134 /*The flag indicates that the slave should delay the RESET cmd*/
205 int (*verify)(struct mlx4_dev *dev, int slave, struct mlx4_vhcr *vhcr,
207 int (*wrapper)(struct mlx4_dev *dev, int slave, struct mlx4_vhcr *vhcr,
561 /* num_of_slave's lists, one per slave */
657 int slave; member
994 int mlx4_WRITE_MTT_wrapper(struct mlx4_dev *dev, int slave,
999 int mlx4_SYNC_TPT_wrapper(struct mlx4_dev *dev, int slave,
1004 int mlx4_SW2HW_MPT_wrapper(struct mlx4_dev *dev, int slave,
1009 int mlx4_HW2SW_MPT_wrapper(struct mlx4_dev *dev, int slave,
1014 int mlx4_QUERY_MPT_wrapper(struct mlx4_dev *dev, int slave,
[all …]
/linux/drivers/net/ethernet/ti/
H A Dnetcp_ethss.c451 /* Some hw stat regs are applicable to slave port only.
459 u32 rx_pause_frames; /* slave */
461 u32 rx_align_code_errors; /* slave */
463 u32 rx_jabber_frames; /* slave */
465 u32 rx_fragments; /* slave */
472 u32 tx_pause_frames; /* slave */
473 u32 tx_deferred_frames; /* slave */
474 u32 tx_collision_frames; /* slave */
475 u32 tx_single_coll_frames; /* slave */
476 u32 tx_mult_coll_frames; /* slave */
[all …]
H A Dcpsw-common.c15 int slave, u8 *mac_addr) in davinci_emac_3517_get_macid() argument
28 regmap_read(syscon, CTRL_MAC_LO_REG(offset, slave), &macid_lsb); in davinci_emac_3517_get_macid()
29 regmap_read(syscon, CTRL_MAC_HI_REG(offset, slave), &macid_msb); in davinci_emac_3517_get_macid()
41 static int cpsw_am33xx_cm_get_macid(struct device *dev, u16 offset, int slave, in cpsw_am33xx_cm_get_macid() argument
55 regmap_read(syscon, CTRL_MAC_LO_REG(offset, slave), &macid_lo); in cpsw_am33xx_cm_get_macid()
56 regmap_read(syscon, CTRL_MAC_HI_REG(offset, slave), &macid_hi); in cpsw_am33xx_cm_get_macid()
68 int ti_cm_get_macid(struct device *dev, int slave, u8 *mac_addr) in ti_cm_get_macid() argument
71 return cpsw_am33xx_cm_get_macid(dev, 0x630, slave, mac_addr); in ti_cm_get_macid()
74 return cpsw_am33xx_cm_get_macid(dev, 0x630, slave, mac_addr); in ti_cm_get_macid()
77 return davinci_emac_3517_get_macid(dev, 0x110, slave, mac_addr); in ti_cm_get_macid()
[all …]
/linux/arch/arm/mach-omap2/
H A Domap_hwmod_2xxx_interconnect_data.c26 .slave = &omap2xxx_l4_core_hwmod,
33 .slave = &omap2xxx_l3_main_hwmod,
40 .slave = &omap2xxx_l3_main_hwmod,
53 .slave = &omap2xxx_l4_wkup_hwmod,
60 .slave = &omap2xxx_uart1_hwmod,
68 .slave = &omap2xxx_uart2_hwmod,
76 .slave = &omap2xxx_uart3_hwmod,
84 .slave = &omap2xxx_mcspi1_hwmod,
92 .slave = &omap2xxx_mcspi2_hwmod,
100 .slave = &omap2xxx_timer3_hwmod,
[all …]
/linux/drivers/net/
H A Deql.c142 static void eql_kill_one_slave(slave_queue_t *queue, slave_t *slave);
152 slave_t *slave = list_entry(this, slave_t, list); in eql_timer() local
154 if ((slave->dev->flags & IFF_UP) == IFF_UP) { in eql_timer()
155 slave->bytes_queued -= slave->priority_Bps; in eql_timer()
156 if (slave->bytes_queued < 0) in eql_timer()
157 slave->bytes_queued = 0; in eql_timer()
159 eql_kill_one_slave(&eql->queue, slave); in eql_timer()
211 "remember to turn off Van-Jacobson compression on your slave devices\n"); in eql_open()
223 static void eql_kill_one_slave(slave_queue_t *queue, slave_t *slave) in eql_kill_one_slave() argument
225 list_del(&slave->list); in eql_kill_one_slave()
[all …]
/linux/sound/soc/codecs/
H A Drt722-sdca-sdw.c208 static int rt722_sdca_update_status(struct sdw_slave *slave, in rt722_sdca_update_status() argument
211 struct rt722_sdca_priv *rt722 = dev_get_drvdata(&slave->dev); in rt722_sdca_update_status()
224 sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INTMASK1, in rt722_sdca_update_status()
226 sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INTMASK2, in rt722_sdca_update_status()
232 * Perform initialization only if slave status is present and in rt722_sdca_update_status()
238 /* perform I/O transfers required for Slave initialization */ in rt722_sdca_update_status()
239 return rt722_sdca_io_init(&slave->dev, slave); in rt722_sdca_update_status()
242 static int rt722_sdca_read_prop(struct sdw_slave *slave) in rt722_sdca_read_prop() argument
244 struct sdw_slave_prop *prop = &slave->prop; in rt722_sdca_read_prop()
251 sdw_slave_read_lane_mapping(slave); in rt722_sdca_read_prop()
[all …]
H A Drt5682-sdw.c121 if (!rt5682->slave) in rt5682_sdw_hw_params()
132 retval = sdw_stream_add_slave(rt5682->slave, &stream_config, in rt5682_sdw_hw_params()
230 if (!rt5682->slave) in rt5682_sdw_hw_free()
233 sdw_stream_remove_slave(rt5682->slave, sdw_stream); in rt5682_sdw_hw_free()
298 struct sdw_slave *slave) in rt5682_sdw_init() argument
308 rt5682->slave = slave; in rt5682_sdw_init()
368 static int rt5682_io_init(struct device *dev, struct sdw_slave *slave) in rt5682_io_init() argument
385 * PM runtime status is marked as 'active' only when a Slave reports as Attached in rt5682_io_init()
389 pm_runtime_set_active(&slave->dev); in rt5682_io_init()
391 pm_runtime_get_noresume(&slave->dev); in rt5682_io_init()
[all …]
H A Dmax98363.c91 struct sdw_slave *slave = dev_to_sdw_dev(dev); in max98363_resume() local
98 if (!slave->unattach_request) in max98363_resume()
101 time = wait_for_completion_timeout(&slave->initialization_complete, in max98363_resume()
110 slave->unattach_request = 0; in max98363_resume()
119 static int max98363_read_prop(struct sdw_slave *slave) in max98363_read_prop() argument
121 struct sdw_slave_prop *prop = &slave->prop; in max98363_read_prop()
137 prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval, in max98363_read_prop()
157 static int max98363_io_init(struct sdw_slave *slave) in max98363_io_init() argument
159 struct device *dev = &slave->dev; in max98363_io_init()
168 * PM runtime status is marked as 'active' only when a Slave reports as Attached in max98363_io_init()
[all …]
/linux/include/linux/soundwire/
H A Dsdw.h88 * enum sdw_slave_status - Slave status
89 * @SDW_SLAVE_UNATTACHED: Slave is not attached with the bus.
90 * @SDW_SLAVE_ATTACHED: Slave is attached with bus.
91 * @SDW_SLAVE_ALERT: Some alert condition on the Slave
205 * enum sdw_p15_behave - Slave Port 15 behaviour when the Master attempts a
232 * @SDW_CLK_STOP_MODE0: Slave can continue operation seamlessly on clock
234 * @SDW_CLK_STOP_MODE1: Slave may have entered a deeper power-saving mode,
251 * @BRA_flow_controlled: Slave implementation results in an OK_NotReady
335 * struct sdw_slave_prop - SoundWire Slave properties
348 * @reset_behave: Slave keep
1105 sdw_stream_add_slave(struct sdw_slave * slave,struct sdw_stream_config * stream_config,const struct sdw_port_config * port_config,unsigned int num_ports,struct sdw_stream_runtime * stream) sdw_stream_add_slave() argument
1115 sdw_stream_remove_slave(struct sdw_slave * slave,struct sdw_stream_runtime * stream) sdw_stream_remove_slave() argument
1123 sdw_read(struct sdw_slave * slave,u32 addr) sdw_read() argument
1129 sdw_write(struct sdw_slave * slave,u32 addr,u8 value) sdw_write() argument
1135 sdw_write_no_pm(struct sdw_slave * slave,u32 addr,u8 value) sdw_write_no_pm() argument
1141 sdw_read_no_pm(struct sdw_slave * slave,u32 addr) sdw_read_no_pm() argument
1147 sdw_nread(struct sdw_slave * slave,u32 addr,size_t count,u8 * val) sdw_nread() argument
1153 sdw_nread_no_pm(struct sdw_slave * slave,u32 addr,size_t count,u8 * val) sdw_nread_no_pm() argument
1159 sdw_nwrite(struct sdw_slave * slave,u32 addr,size_t count,const u8 * val) sdw_nwrite() argument
1165 sdw_nwrite_no_pm(struct sdw_slave * slave,u32 addr,size_t count,const u8 * val) sdw_nwrite_no_pm() argument
1171 sdw_update(struct sdw_slave * slave,u32 addr,u8 mask,u8 val) sdw_update() argument
1177 sdw_update_no_pm(struct sdw_slave * slave,u32 addr,u8 mask,u8 val) sdw_update_no_pm() argument
[all...]
/linux/Documentation/devicetree/bindings/clock/
H A Damlogic,axg-audio-clkc.yaml46 - description: slave bit clock N0 provided by external components
47 - description: slave bit clock N1 provided by external components
48 - description: slave bit clock N2 provided by external components
49 - description: slave bit clock N3 provided by external components
50 - description: slave bit clock N4 provided by external components
51 - description: slave bit clock N5 provided by external components
52 - description: slave bit clock N6 provided by external components
53 - description: slave bit clock N7 provided by external components
54 - description: slave bit clock N8 provided by external components
55 - description: slave bit clock N9 provided by external components
[all …]
/linux/drivers/infiniband/hw/mlx4/
H A Dcm.c58 int slave; member
320 mlx4_ib_warn(ibdev, "%s: id{slave: %d, sl_cm_id: 0x%x} Failed to id_map_alloc\n", in mlx4_ib_multiplex_cm_handler()
333 pr_debug("id{slave: %d, sl_cm_id: 0x%x} is NULL! attr_id: 0x%x\n", in mlx4_ib_multiplex_cm_handler()
360 static int alloc_rej_tmout(struct mlx4_ib_sriov *sriov, u32 rem_pv_cm_id, int slave) in alloc_rej_tmout() argument
384 item->slave = slave; in alloc_rej_tmout()
409 int slave; in lookup_rej_tmout_slave() local
415 pr_debug("Could not find slave. rem_pv_cm_id 0x%x error: %d\n", in lookup_rej_tmout_slave()
417 slave = !item ? -ENOENT : xa_err(item); in lookup_rej_tmout_slave()
419 slave = item->slave; in lookup_rej_tmout_slave()
423 return slave; in lookup_rej_tmout_slave()
[all …]
/linux/Documentation/i2c/
H A Dslave-interface.rst2 Linux I2C slave interface description
7 Linux can also be an I2C slave if the I2C controller in use has slave
8 functionality. For that to work, one needs slave support in the bus driver plus
10 example for the latter is the slave-eeprom driver, which acts as a dual memory
12 EEPROM, the Linux I2C slave can access the content via sysfs and handle data as
19 e.g. sysfs I2C slave events I/O registers
34 I2C slave backends behave like standard I2C clients. So, you can instantiate
36 difference is that i2c slave backends have their own address space. So, you
38 instantiating the slave-eeprom driver from userspace at the 7 bit address 0x64
41 # echo slave-24c02 0x1064 > /sys/bus/i2c/devices/i2c-1/new_device
[all …]
/linux/drivers/i2c/busses/
H A Di2c-emev2.c27 #define I2C_OFS_SVA0 0x0c /* slave address */
70 struct i2c_client *slave; member
148 /* Send slave address and R/W type */ in __em_i2c_xfer()
156 /* Received NACK (result of setting slave address and R/W) */ in __em_i2c_xfer()
233 if (!priv->slave) in em_i2c_slave_irq()
244 /* Stop detected, we don't know if it's for slave or master */ in em_i2c_slave_irq()
246 /* Notify slave device */ in em_i2c_slave_irq()
247 i2c_slave_event(priv->slave, I2C_SLAVE_STOP, &value); in em_i2c_slave_irq()
269 i2c_slave_event(priv->slave, event, &value); in em_i2c_slave_irq()
283 i2c_slave_event(priv->slave, I2C_SLAVE_WRITE_REQUESTED, in em_i2c_slave_irq()
[all …]

12345678910>>...55