Lines Matching refs:ks

114 static int ks8995_read(struct ks8995_switch *ks, char *buf,  in ks8995_read()  argument
137 mutex_lock(&ks->lock); in ks8995_read()
138 err = spi_sync(ks->spi, &m); in ks8995_read()
139 mutex_unlock(&ks->lock); in ks8995_read()
145 static int ks8995_write(struct ks8995_switch *ks, char *buf, in ks8995_write() argument
168 mutex_lock(&ks->lock); in ks8995_write()
169 err = spi_sync(ks->spi, &m); in ks8995_write()
170 mutex_unlock(&ks->lock); in ks8995_write()
175 static inline int ks8995_read_reg(struct ks8995_switch *ks, u8 addr, u8 *buf) in ks8995_read_reg() argument
177 return ks8995_read(ks, buf, addr, 1) != 1; in ks8995_read_reg()
180 static inline int ks8995_write_reg(struct ks8995_switch *ks, u8 addr, u8 val) in ks8995_write_reg() argument
184 return ks8995_write(ks, &buf, addr, 1) != 1; in ks8995_write_reg()
189 static int ks8995_stop(struct ks8995_switch *ks) in ks8995_stop() argument
191 return ks8995_write_reg(ks, KS8995_REG_ID1, 0); in ks8995_stop()
194 static int ks8995_start(struct ks8995_switch *ks) in ks8995_start() argument
196 return ks8995_write_reg(ks, KS8995_REG_ID1, 1); in ks8995_start()
199 static int ks8995_reset(struct ks8995_switch *ks) in ks8995_reset() argument
203 err = ks8995_stop(ks); in ks8995_reset()
209 return ks8995_start(ks); in ks8995_reset()
250 struct ks8995_switch *ks; in ks8995_probe() local
258 ks = devm_kzalloc(&spi->dev, sizeof(*ks), GFP_KERNEL); in ks8995_probe()
259 if (!ks) in ks8995_probe()
262 mutex_init(&ks->lock); in ks8995_probe()
263 ks->pdata = pdata; in ks8995_probe()
264 ks->spi = spi_dev_get(spi); in ks8995_probe()
265 spi_set_drvdata(spi, ks); in ks8995_probe()
275 err = ks8995_read(ks, ids, KS8995_REG_ID0, sizeof(ids)); in ks8995_probe()
290 memcpy(&ks->regs_attr, &ks8995_registers_attr, sizeof(ks->regs_attr)); in ks8995_probe()
295 err = ks8995_read(ks, &val, KSZ8864_REG_ID1, sizeof(val)); in ks8995_probe()
306 ks->regs_attr.size = KSZ8864_REGS_SIZE; in ks8995_probe()
309 err = ks8995_reset(ks); in ks8995_probe()
313 err = sysfs_create_bin_file(&spi->dev.kobj, &ks->regs_attr); in ks8995_probe()
334 struct ks8995_switch *ks = spi_get_drvdata(spi); in ks8995_remove() local
336 sysfs_remove_bin_file(&spi->dev.kobj, &ks->regs_attr); in ks8995_remove()