diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-21 18:49:58 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-21 18:49:58 -0400 |
commit | e80ab411e589e00550e2e6e5a6a02d59cc730357 (patch) | |
tree | 870225ff7b5b8d03e82a996963213a4bb9cce248 /drivers/infiniband/hw/mthca | |
parent | 529a41e36673b518c9e091f3a8d932b6b9e3c461 (diff) | |
parent | ee959b00c335d7780136c5abda37809191fe52c3 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: (36 commits)
SCSI: convert struct class_device to struct device
DRM: remove unused dev_class
IB: rename "dev" to "srp_dev" in srp_host structure
IB: convert struct class_device to struct device
memstick: convert struct class_device to struct device
driver core: replace remaining __FUNCTION__ occurrences
sysfs: refill attribute buffer when reading from offset 0
PM: Remove destroy_suspended_device()
Firmware: add iSCSI iBFT Support
PM: Remove legacy PM (fix)
Kobject: Replace list_for_each() with list_for_each_entry().
SYSFS: Explicitly include required header file slab.h.
Driver core: make device_is_registered() work for class devices
PM: Convert wakeup flag accessors to inline functions
PM: Make wakeup flags available whenever CONFIG_PM is set
PM: Fix misuse of wakeup flag accessors in serial core
Driver core: Call device_pm_add() after bus_add_device() in device_add()
PM: Handle device registrations during suspend/resume
block: send disk "change" event for rescan_partitions()
sysdev: detect multiple driver registrations
...
Fixed trivial conflict in include/linux/memory.h due to semaphore header
file change (made irrelevant by the change to mutex).
Diffstat (limited to 'drivers/infiniband/hw/mthca')
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_provider.c | 48 |
1 files changed, 28 insertions, 20 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c index 81b257e18bb6..696e1f302332 100644 --- a/drivers/infiniband/hw/mthca/mthca_provider.c +++ b/drivers/infiniband/hw/mthca/mthca_provider.c | |||
@@ -1170,23 +1170,29 @@ static int mthca_unmap_fmr(struct list_head *fmr_list) | |||
1170 | return 0; | 1170 | return 0; |
1171 | } | 1171 | } |
1172 | 1172 | ||
1173 | static ssize_t show_rev(struct class_device *cdev, char *buf) | 1173 | static ssize_t show_rev(struct device *device, struct device_attribute *attr, |
1174 | char *buf) | ||
1174 | { | 1175 | { |
1175 | struct mthca_dev *dev = container_of(cdev, struct mthca_dev, ib_dev.class_dev); | 1176 | struct mthca_dev *dev = |
1177 | container_of(device, struct mthca_dev, ib_dev.dev); | ||
1176 | return sprintf(buf, "%x\n", dev->rev_id); | 1178 | return sprintf(buf, "%x\n", dev->rev_id); |
1177 | } | 1179 | } |
1178 | 1180 | ||
1179 | static ssize_t show_fw_ver(struct class_device *cdev, char *buf) | 1181 | static ssize_t show_fw_ver(struct device *device, struct device_attribute *attr, |
1182 | char *buf) | ||
1180 | { | 1183 | { |
1181 | struct mthca_dev *dev = container_of(cdev, struct mthca_dev, ib_dev.class_dev); | 1184 | struct mthca_dev *dev = |
1185 | container_of(device, struct mthca_dev, ib_dev.dev); | ||
1182 | return sprintf(buf, "%d.%d.%d\n", (int) (dev->fw_ver >> 32), | 1186 | return sprintf(buf, "%d.%d.%d\n", (int) (dev->fw_ver >> 32), |
1183 | (int) (dev->fw_ver >> 16) & 0xffff, | 1187 | (int) (dev->fw_ver >> 16) & 0xffff, |
1184 | (int) dev->fw_ver & 0xffff); | 1188 | (int) dev->fw_ver & 0xffff); |
1185 | } | 1189 | } |
1186 | 1190 | ||
1187 | static ssize_t show_hca(struct class_device *cdev, char *buf) | 1191 | static ssize_t show_hca(struct device *device, struct device_attribute *attr, |
1192 | char *buf) | ||
1188 | { | 1193 | { |
1189 | struct mthca_dev *dev = container_of(cdev, struct mthca_dev, ib_dev.class_dev); | 1194 | struct mthca_dev *dev = |
1195 | container_of(device, struct mthca_dev, ib_dev.dev); | ||
1190 | switch (dev->pdev->device) { | 1196 | switch (dev->pdev->device) { |
1191 | case PCI_DEVICE_ID_MELLANOX_TAVOR: | 1197 | case PCI_DEVICE_ID_MELLANOX_TAVOR: |
1192 | return sprintf(buf, "MT23108\n"); | 1198 | return sprintf(buf, "MT23108\n"); |
@@ -1202,22 +1208,24 @@ static ssize_t show_hca(struct class_device *cdev, char *buf) | |||
1202 | } | 1208 | } |
1203 | } | 1209 | } |
1204 | 1210 | ||
1205 | static ssize_t show_board(struct class_device *cdev, char *buf) | 1211 | static ssize_t show_board(struct device *device, struct device_attribute *attr, |
1212 | char *buf) | ||
1206 | { | 1213 | { |
1207 | struct mthca_dev *dev = container_of(cdev, struct mthca_dev, ib_dev.class_dev); | 1214 | struct mthca_dev *dev = |
1215 | container_of(device, struct mthca_dev, ib_dev.dev); | ||
1208 | return sprintf(buf, "%.*s\n", MTHCA_BOARD_ID_LEN, dev->board_id); | 1216 | return sprintf(buf, "%.*s\n", MTHCA_BOARD_ID_LEN, dev->board_id); |
1209 | } | 1217 | } |
1210 | 1218 | ||
1211 | static CLASS_DEVICE_ATTR(hw_rev, S_IRUGO, show_rev, NULL); | 1219 | static DEVICE_ATTR(hw_rev, S_IRUGO, show_rev, NULL); |
1212 | static CLASS_DEVICE_ATTR(fw_ver, S_IRUGO, show_fw_ver, NULL); | 1220 | static DEVICE_ATTR(fw_ver, S_IRUGO, show_fw_ver, NULL); |
1213 | static CLASS_DEVICE_ATTR(hca_type, S_IRUGO, show_hca, NULL); | 1221 | static DEVICE_ATTR(hca_type, S_IRUGO, show_hca, NULL); |
1214 | static CLASS_DEVICE_ATTR(board_id, S_IRUGO, show_board, NULL); | 1222 | static DEVICE_ATTR(board_id, S_IRUGO, show_board, NULL); |
1215 | 1223 | ||
1216 | static struct class_device_attribute *mthca_class_attributes[] = { | 1224 | static struct device_attribute *mthca_dev_attributes[] = { |
1217 | &class_device_attr_hw_rev, | 1225 | &dev_attr_hw_rev, |
1218 | &class_device_attr_fw_ver, | 1226 | &dev_attr_fw_ver, |
1219 | &class_device_attr_hca_type, | 1227 | &dev_attr_hca_type, |
1220 | &class_device_attr_board_id | 1228 | &dev_attr_board_id |
1221 | }; | 1229 | }; |
1222 | 1230 | ||
1223 | static int mthca_init_node_data(struct mthca_dev *dev) | 1231 | static int mthca_init_node_data(struct mthca_dev *dev) |
@@ -1379,9 +1387,9 @@ int mthca_register_device(struct mthca_dev *dev) | |||
1379 | if (ret) | 1387 | if (ret) |
1380 | return ret; | 1388 | return ret; |
1381 | 1389 | ||
1382 | for (i = 0; i < ARRAY_SIZE(mthca_class_attributes); ++i) { | 1390 | for (i = 0; i < ARRAY_SIZE(mthca_dev_attributes); ++i) { |
1383 | ret = class_device_create_file(&dev->ib_dev.class_dev, | 1391 | ret = device_create_file(&dev->ib_dev.dev, |
1384 | mthca_class_attributes[i]); | 1392 | mthca_dev_attributes[i]); |
1385 | if (ret) { | 1393 | if (ret) { |
1386 | ib_unregister_device(&dev->ib_dev); | 1394 | ib_unregister_device(&dev->ib_dev); |
1387 | return ret; | 1395 | return ret; |