Lines Matching refs:bus

67 ssize_t ssb_attr_sprom_show(struct ssb_bus *bus, char *buf,  in ssb_attr_sprom_show()  argument
68 int (*sprom_read)(struct ssb_bus *bus, u16 *sprom)) in ssb_attr_sprom_show() argument
73 size_t sprom_size_words = bus->sprom_size; in ssb_attr_sprom_show()
83 if (mutex_lock_interruptible(&bus->sprom_mutex)) in ssb_attr_sprom_show()
85 err = sprom_read(bus, sprom); in ssb_attr_sprom_show()
86 mutex_unlock(&bus->sprom_mutex); in ssb_attr_sprom_show()
98 ssize_t ssb_attr_sprom_store(struct ssb_bus *bus, in ssb_attr_sprom_store() argument
101 int (*sprom_write)(struct ssb_bus *bus, const u16 *sprom)) in ssb_attr_sprom_store() argument
105 size_t sprom_size_words = bus->sprom_size; in ssb_attr_sprom_store()
108 sprom = kcalloc(bus->sprom_size, sizeof(u16), GFP_KERNEL); in ssb_attr_sprom_store()
126 if (mutex_lock_interruptible(&bus->sprom_mutex)) in ssb_attr_sprom_store()
128 err = ssb_devices_freeze(bus, &freeze); in ssb_attr_sprom_store()
133 res = sprom_write(bus, sprom); in ssb_attr_sprom_store()
138 mutex_unlock(&bus->sprom_mutex); in ssb_attr_sprom_store()
169 int ssb_arch_register_fallback_sprom(int (*sprom_callback)(struct ssb_bus *bus, in ssb_arch_register_fallback_sprom() argument
179 int ssb_fill_sprom_with_fallback(struct ssb_bus *bus, struct ssb_sprom *out) in ssb_fill_sprom_with_fallback() argument
184 return get_fallback_sprom(bus, out); in ssb_fill_sprom_with_fallback()
188 bool ssb_is_sprom_available(struct ssb_bus *bus) in ssb_is_sprom_available() argument
194 if (bus->bustype == SSB_BUSTYPE_PCI && in ssb_is_sprom_available()
195 bus->chipco.dev && /* can be unavailable! */ in ssb_is_sprom_available()
196 bus->chipco.dev->id.revision >= 31) in ssb_is_sprom_available()
197 return bus->chipco.capabilities & SSB_CHIPCO_CAP_SPROM; in ssb_is_sprom_available()