Lines Matching refs:fn

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