Lines Matching defs:usbsw
165 static int fsa9480_write_reg(struct fsa9480_usbsw *usbsw, int reg, int value)
169 ret = regmap_write(usbsw->regmap, reg, value);
171 dev_err(usbsw->dev, "%s: err %d\n", __func__, ret);
176 static int fsa9480_read_reg(struct fsa9480_usbsw *usbsw, int reg)
180 ret = regmap_read(usbsw->regmap, reg, &val);
182 dev_err(usbsw->dev, "%s: err %d\n", __func__, ret);
189 static int fsa9480_read_irq(struct fsa9480_usbsw *usbsw, int *value)
194 ret = regmap_bulk_read(usbsw->regmap, FSA9480_REG_INT1, regs, 2);
196 dev_err(usbsw->dev, "%s: err %d\n", __func__, ret);
202 static void fsa9480_handle_change(struct fsa9480_usbsw *usbsw,
212 extcon_set_state_sync(usbsw->edev, cable, attached);
220 static void fsa9480_detect_dev(struct fsa9480_usbsw *usbsw)
225 val1 = fsa9480_read_reg(usbsw, FSA9480_REG_DEV_T1);
226 val2 = fsa9480_read_reg(usbsw, FSA9480_REG_DEV_T2);
228 dev_err(usbsw->dev, "%s: failed to read registers", __func__);
233 dev_info(usbsw->dev, "dev1: 0x%x, dev2: 0x%x\n", val1, val2);
236 fsa9480_handle_change(usbsw, usbsw->cable & ~val, false);
239 fsa9480_handle_change(usbsw, val & ~usbsw->cable, true);
241 usbsw->cable = val;
246 struct fsa9480_usbsw *usbsw = data;
250 fsa9480_read_irq(usbsw, &intr);
255 fsa9480_detect_dev(usbsw);