i3c_master_controller
return container_of(i3cbus, struct i3c_master_controller, bus);
int i3c_master_entdaa_locked(struct i3c_master_controller *master)
static struct i3c_master_controller *dev_to_i3cmaster(struct device *dev)
static int i3c_master_enec_disec_locked(struct i3c_master_controller *master,
return container_of(dev, struct i3c_master_controller, dev);
static int __must_check i3c_master_rpm_get(struct i3c_master_controller *master)
int i3c_master_disec_locked(struct i3c_master_controller *master, u8 addr,
int i3c_master_enec_locked(struct i3c_master_controller *master, u8 addr,
int i3c_master_defslvs_locked(struct i3c_master_controller *master)
static void i3c_master_rpm_put(struct i3c_master_controller *master)
static int i3c_master_setda_locked(struct i3c_master_controller *master,
static int i3c_master_setdasa_locked(struct i3c_master_controller *master,
static int i3c_master_setnewda_locked(struct i3c_master_controller *master,
static int i3c_master_getmrl_locked(struct i3c_master_controller *master,
static int i3c_master_getmwl_locked(struct i3c_master_controller *master,
static int i3c_master_getmxds_locked(struct i3c_master_controller *master,
static int i3c_master_gethdrcap_locked(struct i3c_master_controller *master,
static int i3c_master_getpid_locked(struct i3c_master_controller *master,
static int i3c_master_getbcr_locked(struct i3c_master_controller *master,
struct i3c_master_controller *master;
static int i3c_master_getdcr_locked(struct i3c_master_controller *master,
struct i3c_master_controller *master = i3c_dev_get_master(dev);
struct i3c_master_controller *master = i3c_dev_get_master(dev);
struct i3c_master_controller *master = i3c_dev_get_master(dev);
struct i3c_master_controller *master;
static int i3c_master_attach_i3c_dev(struct i3c_master_controller *master,
struct i3c_master_controller *master = i3c_dev_get_master(dev);
struct i3c_master_controller *master = i3c_dev_get_master(dev);
static int i3c_master_attach_i2c_dev(struct i3c_master_controller *master,
struct i3c_master_controller *master = i2c_dev_get_master(dev);
static int i3c_master_early_i3c_dev_add(struct i3c_master_controller *master,
i3c_master_register_new_i3c_devs(struct i3c_master_controller *master)
int i3c_master_do_daa_ext(struct i3c_master_controller *master, bool rstdaa)
int i3c_master_do_daa(struct i3c_master_controller *master)
int i3c_master_set_info(struct i3c_master_controller *master,
static void i3c_master_detach_free_devs(struct i3c_master_controller *master)
static int i3c_master_bus_init(struct i3c_master_controller *master)
static void i3c_master_bus_cleanup(struct i3c_master_controller *master)
struct i3c_master_controller *master = i3cdev->common.master;
struct i3c_master_controller *master = i3c_dev_get_master(refdev);
int i3c_master_add_i3c_dev_locked(struct i3c_master_controller *master,
of_i3c_master_add_i2c_boardinfo(struct i3c_master_controller *master,
of_i3c_master_add_i3c_boardinfo(struct i3c_master_controller *master,
static int of_i3c_master_add_dev(struct i3c_master_controller *master,
static int of_populate_i3c_bus(struct i3c_master_controller *master)
struct i3c_master_controller *master = i2c_adapter_to_i3c_master(adap);
struct i3c_master_controller *master = i2c_adapter_to_i3c_master(adap);
struct i3c_master_controller *master = i2c_adapter_to_i3c_master(adap);
struct i3c_master_controller *master;
static int i3c_master_i2c_adapter_init(struct i3c_master_controller *master)
static void i3c_master_i2c_adapter_cleanup(struct i3c_master_controller *master)
static void i3c_master_unregister_i3c_devs(struct i3c_master_controller *master)
struct i3c_master_controller *master = i3c_dev_get_master(dev);
int i3c_master_register(struct i3c_master_controller *master,
void i3c_master_unregister(struct i3c_master_controller *master)
struct i3c_master_controller *master;
struct i3c_master_controller *master;
struct i3c_master_controller *master;
struct i3c_master_controller *master = i3c_dev_get_master(dev);
struct i3c_master_controller *master = i3c_dev_get_master(dev);
struct i3c_master_controller *master = i3c_dev_get_master(dev);
static int i3c_set_hotjoin(struct i3c_master_controller *master, bool enable)
int i3c_master_enable_hotjoin(struct i3c_master_controller *master)
int i3c_master_disable_hotjoin(struct i3c_master_controller *master)
struct i3c_master_controller *master = dev_to_i3cmaster(dev);
struct i3c_master_controller *master = dev_to_i3cmaster(dev);
struct i3c_master_controller *master = i3c_bus_to_i3c_master(i3cbus);
static struct i3c_master_controller *
return container_of(adap, struct i3c_master_controller, i2c);
i3c_master_to_i2c_adapter(struct i3c_master_controller *master)
i3c_master_alloc_i2c_dev(struct i3c_master_controller *master,
static int i3c_master_send_ccc_cmd_locked(struct i3c_master_controller *master,
i3c_master_find_i2c_dev_by_addr(const struct i3c_master_controller *master,
int i3c_master_get_free_addr(struct i3c_master_controller *master,
static struct i3c_master_controller *
i3c_master_alloc_i3c_dev(struct i3c_master_controller *master,
static int i3c_master_rstdaa_locked(struct i3c_master_controller *master,
struct i3c_master_controller base;
static inline struct adi_i3c_master *to_adi_i3c_master(struct i3c_master_controller *master)
static bool adi_i3c_master_supports_ccc_cmd(struct i3c_master_controller *m,
static int adi_i3c_master_send_ccc_cmd(struct i3c_master_controller *m,
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
static void adi_i3c_master_sync_dev_char(struct i3c_master_controller *m)
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
static void adi_i3c_master_bus_cleanup(struct i3c_master_controller *m)
struct i3c_master_controller *m = &master->base;
static int adi_i3c_master_do_daa(struct i3c_master_controller *m)
static int adi_i3c_master_bus_init(struct i3c_master_controller *m)
struct i3c_master_controller *m = i2c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
static int dw_i3c_master_enable_hotjoin(struct i3c_master_controller *m)
static int dw_i3c_master_disable_hotjoin(struct i3c_master_controller *m)
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
static int dw_i3c_master_set_dev_nack_retry(struct i3c_master_controller *m,
static bool dw_i3c_master_supports_ccc_cmd(struct i3c_master_controller *m,
to_dw_i3c_master(struct i3c_master_controller *master)
static int dw_i3c_master_bus_init(struct i3c_master_controller *m)
static void dw_i3c_master_bus_cleanup(struct i3c_master_controller *m)
static int dw_i3c_master_send_ccc_cmd(struct i3c_master_controller *m,
static int dw_i3c_master_daa(struct i3c_master_controller *m)
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller base;
struct i3c_master_controller *m = i2c_dev_get_master(dev);
static void cdns_i3c_master_bus_cleanup(struct i3c_master_controller *m)
struct i3c_master_controller *m = &master->base;
static int cdns_i3c_master_do_daa(struct i3c_master_controller *m)
static int cdns_i3c_master_bus_init(struct i3c_master_controller *m)
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller base;
to_cdns_i3c_master(struct i3c_master_controller *master)
static bool cdns_i3c_master_supports_ccc_cmd(struct i3c_master_controller *m,
static int cdns_i3c_master_send_ccc_cmd(struct i3c_master_controller *m,
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
static inline struct i3c_hci *to_i3c_hci(struct i3c_master_controller *m)
static int i3c_hci_bus_init(struct i3c_master_controller *m)
static void i3c_hci_bus_cleanup(struct i3c_master_controller *m)
static int i3c_hci_send_ccc_cmd(struct i3c_master_controller *m,
static int i3c_hci_daa(struct i3c_master_controller *m)
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller master;
struct i3c_master_controller *m = i2c_dev_get_master(dev);
struct i3c_master_controller base;
static inline struct renesas_i3c *to_renesas_i3c(struct i3c_master_controller *m)
static void renesas_i3c_bus_enable(struct i3c_master_controller *m, bool i3c_mode)
static int renesas_i3c_bus_init(struct i3c_master_controller *m)
static void renesas_i3c_bus_cleanup(struct i3c_master_controller *m)
static int renesas_i3c_daa(struct i3c_master_controller *m)
static bool renesas_i3c_supports_ccc_cmd(struct i3c_master_controller *m,
static int renesas_i3c_send_ccc_cmd(struct i3c_master_controller *m,
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
static int svc_i3c_master_do_daa(struct i3c_master_controller *m)
svc_i3c_master_supports_ccc_cmd(struct i3c_master_controller *master,
static int svc_i3c_master_send_ccc_cmd(struct i3c_master_controller *m,
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
static int svc_i3c_master_enable_hotjoin(struct i3c_master_controller *m)
static int svc_i3c_master_disable_hotjoin(struct i3c_master_controller *m)
struct i3c_master_controller base;
to_svc_i3c_master(struct i3c_master_controller *master)
static int svc_i3c_master_set_speed(struct i3c_master_controller *m,
static int svc_i3c_master_bus_init(struct i3c_master_controller *m)
static void svc_i3c_master_bus_cleanup(struct i3c_master_controller *m)
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
struct i3c_master_controller *m = i2c_dev_get_master(dev);
struct i3c_master_controller;
int (*bus_init)(struct i3c_master_controller *master);
void (*bus_cleanup)(struct i3c_master_controller *master);
int (*do_daa)(struct i3c_master_controller *master);
bool (*supports_ccc_cmd)(struct i3c_master_controller *master,
int (*send_ccc_cmd)(struct i3c_master_controller *master,
int (*enable_hotjoin)(struct i3c_master_controller *master);
int (*disable_hotjoin)(struct i3c_master_controller *master);
int (*set_speed)(struct i3c_master_controller *master, enum i3c_open_drain_speed speed);
int (*set_dev_nack_retry)(struct i3c_master_controller *master,
struct i3c_master_controller *master;
int i3c_master_do_i2c_xfers(struct i3c_master_controller *master,
int i3c_master_disec_locked(struct i3c_master_controller *master, u8 addr,
int i3c_master_enec_locked(struct i3c_master_controller *master, u8 addr,
int i3c_master_entdaa_locked(struct i3c_master_controller *master);
int i3c_master_defslvs_locked(struct i3c_master_controller *master);
int i3c_master_get_free_addr(struct i3c_master_controller *master,
int i3c_master_add_i3c_dev_locked(struct i3c_master_controller *master,
int i3c_master_do_daa(struct i3c_master_controller *master);
int i3c_master_do_daa_ext(struct i3c_master_controller *master, bool rstdaa);
int i3c_master_set_info(struct i3c_master_controller *master,
int i3c_master_register(struct i3c_master_controller *master,
void i3c_master_unregister(struct i3c_master_controller *master);
int i3c_master_enable_hotjoin(struct i3c_master_controller *master);
int i3c_master_disable_hotjoin(struct i3c_master_controller *master);
static inline struct i3c_master_controller *
static inline struct i3c_master_controller *
i3c_master_get_bus(struct i3c_master_controller *master)