| | 157 | {ARP_SYSCTL1, "0", NULL, 0, 0444, NULL, &i2c_proc_real, |
| | 158 | &i2c_sysctl_real, NULL, &smbusarp_contents}, |
| | 159 | {ARP_SYSCTL2, "1", NULL, 0, 0444, NULL, &i2c_proc_real, |
| | 160 | &i2c_sysctl_real, NULL, &smbusarp_contents}, |
| | 161 | {ARP_SYSCTL3, "2", NULL, 0, 0444, NULL, &i2c_proc_real, |
| | 162 | &i2c_sysctl_real, NULL, &smbusarp_contents}, |
| | 163 | {ARP_SYSCTL4, "3", NULL, 0, 0444, NULL, &i2c_proc_real, |
| | 164 | &i2c_sysctl_real, NULL, &smbusarp_contents}, |
| | 165 | {ARP_SYSCTL5, "4", NULL, 0, 0444, NULL, &i2c_proc_real, |
| | 166 | &i2c_sysctl_real, NULL, &smbusarp_contents}, |
| | 167 | {ARP_SYSCTL6, "5", NULL, 0, 0444, NULL, &i2c_proc_real, |
| | 168 | &i2c_sysctl_real, NULL, &smbusarp_contents}, |
| | 169 | {ARP_SYSCTL7, "6", NULL, 0, 0444, NULL, &i2c_proc_real, |
| | 170 | &i2c_sysctl_real, NULL, &smbusarp_contents}, |
| | 171 | {ARP_SYSCTL8, "7", NULL, 0, 0444, NULL, &i2c_proc_real, |
| | 172 | &i2c_sysctl_real, NULL, &smbusarp_contents}, |
| 370 | | data->dev[newdev].udid[i] = blk[i]; |
| | 393 | data->dev[newdev].status = ARP_BUSY; |
| | 394 | data->dev[newdev].dev_cap = blk[0]; |
| | 395 | data->dev[newdev].dev_ver = blk[1]; |
| | 396 | data->dev[newdev].dev_vid = (blk[2] << 8) | blk[3]; |
| | 397 | data->dev[newdev].dev_did = (blk[4] << 8) | blk[5]; |
| | 398 | data->dev[newdev].dev_int = (blk[6] << 8) | blk[7]; |
| | 399 | data->dev[newdev].dev_svid = (blk[8] << 8) | blk[9]; |
| | 400 | data->dev[newdev].dev_sdid = (blk[10] << 8) | blk[11]; |
| | 401 | data->dev[newdev].dev_vsid = (blk[12] << 24) | (blk[13] << 16) | |
| | 402 | (blk[14] << 8) | blk[15] ; |
| | 445 | void smbusarp_contents(struct i2c_client *client, int operation, |
| | 446 | int ctl_name, int *nrels_mag, long *results) |
| | 447 | { |
| | 448 | int i; |
| | 449 | int nr = ctl_name - ARP_SYSCTL1; |
| | 450 | struct arp_data *data = client->data; |
| | 451 | |
| | 452 | |
| | 453 | if (operation == SENSORS_PROC_REAL_INFO) |
| | 454 | *nrels_mag = 0; |
| | 455 | else if (operation == SENSORS_PROC_REAL_READ) { |
| | 456 | if(data->dev[nr].status == ARP_BUSY) { |
| | 457 | results[0] = data->dev[nr].saddr; |
| | 458 | results[1] = data->dev[nr].dev_cap; |
| | 459 | results[2] = data->dev[nr].dev_ver; |
| | 460 | results[3] = data->dev[nr].dev_vid; |
| | 461 | results[4] = data->dev[nr].dev_did; |
| | 462 | results[5] = data->dev[nr].dev_int; |
| | 463 | results[6] = data->dev[nr].dev_svid; |
| | 464 | results[7] = data->dev[nr].dev_sdid; |
| | 465 | results[8] = data->dev[nr].dev_vsid; |
| | 466 | *nrels_mag = 9; |
| | 467 | } else { |
| | 468 | *nrels_mag = 0; |
| | 469 | } |
| | 470 | } else if (operation == SENSORS_PROC_REAL_WRITE) { |
| | 471 | printk(KERN_WARNING "smbus-arp.o: No writes supported!\n"); |
| | 472 | } |
| | 473 | } |