Lines Matching refs:bd

82 static int ee1004_get_current_page(struct ee1004_bus_data *bd)  in ee1004_get_current_page()  argument
86 err = i2c_smbus_read_byte(bd->set_page[0]); in ee1004_get_current_page()
102 struct ee1004_bus_data *bd = i2c_get_clientdata(client); in ee1004_set_current_page() local
105 if (page == bd->current_page) in ee1004_set_current_page()
109 ret = i2c_smbus_write_byte(bd->set_page[page], 0x00); in ee1004_set_current_page()
114 if (ret == -ENXIO && ee1004_get_current_page(bd) == page) in ee1004_set_current_page()
122 bd->current_page = page; in ee1004_set_current_page()
217 static void ee1004_cleanup(int idx, struct ee1004_bus_data *bd) in ee1004_cleanup() argument
219 if (--bd->dev_count == 0) { in ee1004_cleanup()
221 i2c_unregister_device(bd->set_page[idx]); in ee1004_cleanup()
222 memset(bd, 0, sizeof(struct ee1004_bus_data)); in ee1004_cleanup()
228 struct ee1004_bus_data *bd = data; in ee1004_cleanup_bus_data() local
232 ee1004_cleanup(EE1004_NUM_PAGES, bd); in ee1004_cleanup_bus_data()
238 struct ee1004_bus_data *bd; in ee1004_init_bus_data() local
241 bd = ee1004_get_bus_data(client->adapter); in ee1004_init_bus_data()
242 if (!bd) in ee1004_init_bus_data()
246 i2c_set_clientdata(client, bd); in ee1004_init_bus_data()
248 if (++bd->dev_count == 1) { in ee1004_init_bus_data()
259 bd->set_page[cnr] = cl; in ee1004_init_bus_data()
263 err = ee1004_get_current_page(bd); in ee1004_init_bus_data()
268 bd->current_page = err; in ee1004_init_bus_data()
274 ee1004_cleanup(cnr, bd); in ee1004_init_bus_data()