Lines Matching refs:data

128 static u8 amb_read_byte(struct i5k_amb_data *data, unsigned long offset)  in amb_read_byte()  argument
130 return ioread8(data->amb_mmio + offset); in amb_read_byte()
133 static void amb_write_byte(struct i5k_amb_data *data, unsigned long offset, in amb_write_byte() argument
136 iowrite8(val, data->amb_mmio + offset); in amb_write_byte()
144 struct i5k_amb_data *data = dev_get_drvdata(dev); in show_amb_alarm() local
146 if (!(amb_read_byte(data, amb_reg_temp_status(attr->index)) & 0x20) && in show_amb_alarm()
147 (amb_read_byte(data, amb_reg_temp_status(attr->index)) & 0x8)) in show_amb_alarm()
159 struct i5k_amb_data *data = dev_get_drvdata(dev); in store_amb_min() local
169 amb_write_byte(data, amb_reg_temp_min(attr->index), temp); in store_amb_min()
179 struct i5k_amb_data *data = dev_get_drvdata(dev); in store_amb_mid() local
189 amb_write_byte(data, amb_reg_temp_mid(attr->index), temp); in store_amb_mid()
199 struct i5k_amb_data *data = dev_get_drvdata(dev); in store_amb_max() local
209 amb_write_byte(data, amb_reg_temp_max(attr->index), temp); in store_amb_max()
218 struct i5k_amb_data *data = dev_get_drvdata(dev); in show_amb_min() local
220 500 * amb_read_byte(data, amb_reg_temp_min(attr->index))); in show_amb_min()
228 struct i5k_amb_data *data = dev_get_drvdata(dev); in show_amb_mid() local
230 500 * amb_read_byte(data, amb_reg_temp_mid(attr->index))); in show_amb_mid()
238 struct i5k_amb_data *data = dev_get_drvdata(dev); in show_amb_max() local
240 500 * amb_read_byte(data, amb_reg_temp_max(attr->index))); in show_amb_max()
248 struct i5k_amb_data *data = dev_get_drvdata(dev); in show_amb_temp() local
250 500 * amb_read_byte(data, amb_reg_temp(attr->index))); in show_amb_temp()
269 struct i5k_amb_data *data = platform_get_drvdata(pdev); in i5k_amb_hwmon_init() local
274 num_ambs += hweight16(data->amb_present[i] & 0x7fff); in i5k_amb_hwmon_init()
277 data->attrs = kzalloc(sizeof(*data->attrs) * num_ambs * KNOBS_PER_AMB, in i5k_amb_hwmon_init()
279 if (!data->attrs) in i5k_amb_hwmon_init()
281 data->num_attrs = 0; in i5k_amb_hwmon_init()
284 c = data->amb_present[i]; in i5k_amb_hwmon_init()
294 iattr = data->attrs + data->num_attrs; in i5k_amb_hwmon_init()
306 data->num_attrs++; in i5k_amb_hwmon_init()
309 iattr = data->attrs + data->num_attrs; in i5k_amb_hwmon_init()
321 data->num_attrs++; in i5k_amb_hwmon_init()
324 iattr = data->attrs + data->num_attrs; in i5k_amb_hwmon_init()
337 data->num_attrs++; in i5k_amb_hwmon_init()
340 iattr = data->attrs + data->num_attrs; in i5k_amb_hwmon_init()
353 data->num_attrs++; in i5k_amb_hwmon_init()
356 iattr = data->attrs + data->num_attrs; in i5k_amb_hwmon_init()
369 data->num_attrs++; in i5k_amb_hwmon_init()
372 iattr = data->attrs + data->num_attrs; in i5k_amb_hwmon_init()
384 data->num_attrs++; in i5k_amb_hwmon_init()
392 data->hwmon_dev = hwmon_device_register(&pdev->dev); in i5k_amb_hwmon_init()
393 if (IS_ERR(data->hwmon_dev)) { in i5k_amb_hwmon_init()
394 res = PTR_ERR(data->hwmon_dev); in i5k_amb_hwmon_init()
402 for (i = 0; i < data->num_attrs; i++) in i5k_amb_hwmon_init()
403 device_remove_file(&pdev->dev, &data->attrs[i].s_attr.dev_attr); in i5k_amb_hwmon_init()
404 kfree(data->attrs); in i5k_amb_hwmon_init()
428 static int i5k_find_amb_registers(struct i5k_amb_data *data, in i5k_find_amb_registers() argument
444 data->amb_base = val32; in i5k_find_amb_registers()
448 data->amb_len = val32; in i5k_find_amb_registers()
451 if (data->amb_len < AMB_CONFIG_SIZE * MAX_AMBS) { in i5k_find_amb_registers()
508 struct i5k_amb_data *data; in i5k_amb_probe() local
512 data = kzalloc(sizeof(*data), GFP_KERNEL); in i5k_amb_probe()
513 if (!data) in i5k_amb_probe()
519 res = i5k_find_amb_registers(data, chipset_ids[i].err); in i5k_amb_probe()
529 res = i5k_channel_probe(&data->amb_present[0], chipset_ids[i].fbd0); in i5k_amb_probe()
534 i5k_channel_probe(&data->amb_present[2], chipset_ids[i].fbd0 + 1); in i5k_amb_probe()
537 reso = request_mem_region(data->amb_base, data->amb_len, DRVNAME); in i5k_amb_probe()
543 data->amb_mmio = ioremap_nocache(data->amb_base, data->amb_len); in i5k_amb_probe()
544 if (!data->amb_mmio) { in i5k_amb_probe()
549 platform_set_drvdata(pdev, data); in i5k_amb_probe()
558 iounmap(data->amb_mmio); in i5k_amb_probe()
560 release_mem_region(data->amb_base, data->amb_len); in i5k_amb_probe()
562 kfree(data); in i5k_amb_probe()
569 struct i5k_amb_data *data = platform_get_drvdata(pdev); in i5k_amb_remove() local
571 hwmon_device_unregister(data->hwmon_dev); in i5k_amb_remove()
573 for (i = 0; i < data->num_attrs; i++) in i5k_amb_remove()
574 device_remove_file(&pdev->dev, &data->attrs[i].s_attr.dev_attr); in i5k_amb_remove()
575 kfree(data->attrs); in i5k_amb_remove()
576 iounmap(data->amb_mmio); in i5k_amb_remove()
577 release_mem_region(data->amb_base, data->amb_len); in i5k_amb_remove()
578 kfree(data); in i5k_amb_remove()