Lines Matching refs:fn
38 static void rmi_f3a_report_button(struct rmi_function *fn,
49 rmi_dbg(RMI_DEBUG_FN, &fn->dev,
58 struct rmi_function *fn = ctx;
59 struct f3a_data *f3a = dev_get_drvdata(&fn->dev);
60 struct rmi_driver_data *drvdata = dev_get_drvdata(&fn->rmi_dev->dev);
66 dev_warn(&fn->dev,
75 error = rmi_read_block(fn->rmi_dev, fn->fd.data_base_addr,
78 dev_err(&fn->dev,
87 rmi_f3a_report_button(fn, f3a, i);
94 static int rmi_f3a_config(struct rmi_function *fn)
96 struct f3a_data *f3a = dev_get_drvdata(&fn->dev);
97 struct rmi_driver *drv = fn->rmi_dev->driver;
99 rmi_get_platform_data(fn->rmi_dev);
106 f3a->f03 = rmi_find_function(fn->rmi_dev, 0x03);
110 drv->set_irq_bits(fn->rmi_dev, fn->irq_mask);
122 static int rmi_f3a_map_gpios(struct rmi_function *fn, struct f3a_data *f3a,
126 rmi_get_platform_data(fn->rmi_dev);
134 f3a->gpio_key_map = devm_kcalloc(&fn->dev,
139 dev_err(&fn->dev, "Failed to allocate gpio map memory.\n");
167 static int rmi_f3a_initialize(struct rmi_function *fn, struct f3a_data *f3a)
174 error = rmi_read(fn->rmi_dev, fn->fd.query_base_addr, &buf);
176 dev_err(&fn->dev, "Failed to read general info register: %d\n",
185 error = rmi_read_block(fn->rmi_dev, fn->fd.query_base_addr + 1,
188 dev_err(&fn->dev, "Failed to read query1 register\n");
193 error = rmi_read_block(fn->rmi_dev, fn->fd.control_base_addr + 1,
196 dev_err(&fn->dev, "Failed to read control1 register\n");
200 error = rmi_f3a_map_gpios(fn, f3a, query1, ctrl1);
207 static int rmi_f3a_probe(struct rmi_function *fn)
209 struct rmi_device *rmi_dev = fn->rmi_dev;
215 dev_info(&fn->dev, "F3A: no input device found, ignoring\n");
219 f3a = devm_kzalloc(&fn->dev, sizeof(*f3a), GFP_KERNEL);
225 error = rmi_f3a_initialize(fn, f3a);
229 dev_set_drvdata(&fn->dev, f3a);