Lines Matching refs:eeprom

90 static int rave_sp_eeprom_io(struct rave_sp_eeprom *eeprom,  in rave_sp_eeprom_io()  argument
97 const unsigned int cmd_size = eeprom->header_size + data_size; in rave_sp_eeprom_io()
107 cmd[offset++] = eeprom->address; in rave_sp_eeprom_io()
117 if (offset < eeprom->header_size) in rave_sp_eeprom_io()
126 ret = rave_sp_exec(eeprom->sp, cmd, cmd_size, page, rsp_size); in rave_sp_eeprom_io()
156 rave_sp_eeprom_page_access(struct rave_sp_eeprom *eeprom, in rave_sp_eeprom_page_access() argument
181 ret = rave_sp_eeprom_io(eeprom, RAVE_SP_EEPROM_READ, in rave_sp_eeprom_page_access()
190 ret = rave_sp_eeprom_io(eeprom, type, page_nr, &page); in rave_sp_eeprom_page_access()
220 static int rave_sp_eeprom_access(struct rave_sp_eeprom *eeprom, in rave_sp_eeprom_access() argument
230 mutex_lock(&eeprom->mutex); in rave_sp_eeprom_access()
259 ret = rave_sp_eeprom_page_access(eeprom, type, offset, in rave_sp_eeprom_access()
269 mutex_unlock(&eeprom->mutex); in rave_sp_eeprom_access()
273 static int rave_sp_eeprom_reg_read(void *eeprom, unsigned int offset, in rave_sp_eeprom_reg_read() argument
276 return rave_sp_eeprom_access(eeprom, RAVE_SP_EEPROM_READ, in rave_sp_eeprom_reg_read()
280 static int rave_sp_eeprom_reg_write(void *eeprom, unsigned int offset, in rave_sp_eeprom_reg_write() argument
283 return rave_sp_eeprom_access(eeprom, RAVE_SP_EEPROM_WRITE, in rave_sp_eeprom_reg_write()
293 struct rave_sp_eeprom *eeprom; in rave_sp_eeprom_probe() local
312 eeprom = devm_kzalloc(dev, sizeof(*eeprom), GFP_KERNEL); in rave_sp_eeprom_probe()
313 if (!eeprom) in rave_sp_eeprom_probe()
316 eeprom->address = reg[0]; in rave_sp_eeprom_probe()
317 eeprom->sp = sp; in rave_sp_eeprom_probe()
318 eeprom->dev = dev; in rave_sp_eeprom_probe()
321 eeprom->header_size = RAVE_SP_EEPROM_HEADER_BIG; in rave_sp_eeprom_probe()
323 eeprom->header_size = RAVE_SP_EEPROM_HEADER_SMALL; in rave_sp_eeprom_probe()
325 mutex_init(&eeprom->mutex); in rave_sp_eeprom_probe()
329 config.priv = eeprom; in rave_sp_eeprom_probe()