• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/char/ipmi/

Lines Matching refs:bmc

183 	/* bmc device attributes */
324 struct bmc_device *bmc;
1895 ipmi_version_major(&intf->bmc->id),
1896 ipmi_version_minor(&intf->bmc->id));
2058 struct bmc_device *bmc = dev_get_drvdata(dev);
2059 return memcmp(bmc->guid, id, 16) == 0;
2082 struct bmc_device *bmc = dev_get_drvdata(dev);
2084 return (bmc->id.product_id == id->product_id
2085 && bmc->id.device_id == id->device_id);
2109 struct bmc_device *bmc = dev_get_drvdata(dev);
2111 return snprintf(buf, 10, "%u\n", bmc->id.device_id);
2118 struct bmc_device *bmc = dev_get_drvdata(dev);
2121 (bmc->id.device_revision & 0x80) >> 7);
2127 struct bmc_device *bmc = dev_get_drvdata(dev);
2130 bmc->id.device_revision & 0x0F);
2137 struct bmc_device *bmc = dev_get_drvdata(dev);
2139 return snprintf(buf, 20, "%u.%x\n", bmc->id.firmware_revision_1,
2140 bmc->id.firmware_revision_2);
2147 struct bmc_device *bmc = dev_get_drvdata(dev);
2150 ipmi_version_major(&bmc->id),
2151 ipmi_version_minor(&bmc->id));
2158 struct bmc_device *bmc = dev_get_drvdata(dev);
2161 bmc->id.additional_device_support);
2168 struct bmc_device *bmc = dev_get_drvdata(dev);
2170 return snprintf(buf, 20, "0x%6.6x\n", bmc->id.manufacturer_id);
2177 struct bmc_device *bmc = dev_get_drvdata(dev);
2179 return snprintf(buf, 10, "0x%4.4x\n", bmc->id.product_id);
2186 struct bmc_device *bmc = dev_get_drvdata(dev);
2189 bmc->id.aux_firmware_revision[3],
2190 bmc->id.aux_firmware_revision[2],
2191 bmc->id.aux_firmware_revision[1],
2192 bmc->id.aux_firmware_revision[0]);
2198 struct bmc_device *bmc = dev_get_drvdata(dev);
2201 (long long) bmc->guid[0],
2202 (long long) bmc->guid[8]);
2205 static void remove_files(struct bmc_device *bmc)
2207 if (!bmc->dev)
2210 device_remove_file(&bmc->dev->dev,
2211 &bmc->device_id_attr);
2212 device_remove_file(&bmc->dev->dev,
2213 &bmc->provides_dev_sdrs_attr);
2214 device_remove_file(&bmc->dev->dev,
2215 &bmc->revision_attr);
2216 device_remove_file(&bmc->dev->dev,
2217 &bmc->firmware_rev_attr);
2218 device_remove_file(&bmc->dev->dev,
2219 &bmc->version_attr);
2220 device_remove_file(&bmc->dev->dev,
2221 &bmc->add_dev_support_attr);
2222 device_remove_file(&bmc->dev->dev,
2223 &bmc->manufacturer_id_attr);
2224 device_remove_file(&bmc->dev->dev,
2225 &bmc->product_id_attr);
2227 if (bmc->id.aux_firmware_revision_set)
2228 device_remove_file(&bmc->dev->dev,
2229 &bmc->aux_firmware_rev_attr);
2230 if (bmc->guid_set)
2231 device_remove_file(&bmc->dev->dev,
2232 &bmc->guid_attr);
2238 struct bmc_device *bmc;
2240 bmc = container_of(ref, struct bmc_device, refcount);
2242 remove_files(bmc);
2243 platform_device_unregister(bmc->dev);
2244 kfree(bmc);
2249 struct bmc_device *bmc = intf->bmc;
2257 sysfs_remove_link(&bmc->dev->dev.kobj, intf->my_dev_name);
2263 kref_put(&bmc->refcount, cleanup_bmc_device);
2264 intf->bmc = NULL;
2268 static int create_files(struct bmc_device *bmc)
2272 bmc->device_id_attr.attr.name = "device_id";
2273 bmc->device_id_attr.attr.mode = S_IRUGO;
2274 bmc->device_id_attr.show = device_id_show;
2275 sysfs_attr_init(&bmc->device_id_attr.attr);
2277 bmc->provides_dev_sdrs_attr.attr.name = "provides_device_sdrs";
2278 bmc->provides_dev_sdrs_attr.attr.mode = S_IRUGO;
2279 bmc->provides_dev_sdrs_attr.show = provides_dev_sdrs_show;
2280 sysfs_attr_init(&bmc->provides_dev_sdrs_attr.attr);
2282 bmc->revision_attr.attr.name = "revision";
2283 bmc->revision_attr.attr.mode = S_IRUGO;
2284 bmc->revision_attr.show = revision_show;
2285 sysfs_attr_init(&bmc->revision_attr.attr);
2287 bmc->firmware_rev_attr.attr.name = "firmware_revision";
2288 bmc->firmware_rev_attr.attr.mode = S_IRUGO;
2289 bmc->firmware_rev_attr.show = firmware_rev_show;
2290 sysfs_attr_init(&bmc->firmware_rev_attr.attr);
2292 bmc->version_attr.attr.name = "ipmi_version";
2293 bmc->version_attr.attr.mode = S_IRUGO;
2294 bmc->version_attr.show = ipmi_version_show;
2295 sysfs_attr_init(&bmc->version_attr.attr);
2297 bmc->add_dev_support_attr.attr.name = "additional_device_support";
2298 bmc->add_dev_support_attr.attr.mode = S_IRUGO;
2299 bmc->add_dev_support_attr.show = add_dev_support_show;
2300 sysfs_attr_init(&bmc->add_dev_support_attr.attr);
2302 bmc->manufacturer_id_attr.attr.name = "manufacturer_id";
2303 bmc->manufacturer_id_attr.attr.mode = S_IRUGO;
2304 bmc->manufacturer_id_attr.show = manufacturer_id_show;
2305 sysfs_attr_init(&bmc->manufacturer_id_attr.attr);
2307 bmc->product_id_attr.attr.name = "product_id";
2308 bmc->product_id_attr.attr.mode = S_IRUGO;
2309 bmc->product_id_attr.show = product_id_show;
2310 sysfs_attr_init(&bmc->product_id_attr.attr);
2312 bmc->guid_attr.attr.name = "guid";
2313 bmc->guid_attr.attr.mode = S_IRUGO;
2314 bmc->guid_attr.show = guid_show;
2315 sysfs_attr_init(&bmc->guid_attr.attr);
2317 bmc->aux_firmware_rev_attr.attr.name = "aux_firmware_revision";
2318 bmc->aux_firmware_rev_attr.attr.mode = S_IRUGO;
2319 bmc->aux_firmware_rev_attr.show = aux_firmware_rev_show;
2320 sysfs_attr_init(&bmc->aux_firmware_rev_attr.attr);
2322 err = device_create_file(&bmc->dev->dev,
2323 &bmc->device_id_attr);
2326 err = device_create_file(&bmc->dev->dev,
2327 &bmc->provides_dev_sdrs_attr);
2330 err = device_create_file(&bmc->dev->dev,
2331 &bmc->revision_attr);
2334 err = device_create_file(&bmc->dev->dev,
2335 &bmc->firmware_rev_attr);
2338 err = device_create_file(&bmc->dev->dev,
2339 &bmc->version_attr);
2342 err = device_create_file(&bmc->dev->dev,
2343 &bmc->add_dev_support_attr);
2346 err = device_create_file(&bmc->dev->dev,
2347 &bmc->manufacturer_id_attr);
2350 err = device_create_file(&bmc->dev->dev,
2351 &bmc->product_id_attr);
2354 if (bmc->id.aux_firmware_revision_set) {
2355 err = device_create_file(&bmc->dev->dev,
2356 &bmc->aux_firmware_rev_attr);
2360 if (bmc->guid_set) {
2361 err = device_create_file(&bmc->dev->dev,
2362 &bmc->guid_attr);
2370 if (bmc->id.aux_firmware_revision_set)
2371 device_remove_file(&bmc->dev->dev,
2372 &bmc->aux_firmware_rev_attr);
2374 device_remove_file(&bmc->dev->dev,
2375 &bmc->product_id_attr);
2377 device_remove_file(&bmc->dev->dev,
2378 &bmc->manufacturer_id_attr);
2380 device_remove_file(&bmc->dev->dev,
2381 &bmc->add_dev_support_attr);
2383 device_remove_file(&bmc->dev->dev,
2384 &bmc->version_attr);
2386 device_remove_file(&bmc->dev->dev,
2387 &bmc->firmware_rev_attr);
2389 device_remove_file(&bmc->dev->dev,
2390 &bmc->revision_attr);
2392 device_remove_file(&bmc->dev->dev,
2393 &bmc->provides_dev_sdrs_attr);
2395 device_remove_file(&bmc->dev->dev,
2396 &bmc->device_id_attr);
2405 struct bmc_device *bmc = intf->bmc;
2416 if (bmc->guid_set)
2417 old_bmc = ipmi_find_bmc_guid(&ipmidriver.driver, bmc->guid);
2420 bmc->id.product_id,
2421 bmc->id.device_id);
2428 kfree(bmc);
2429 intf->bmc = old_bmc;
2430 bmc = old_bmc;
2432 kref_get(&bmc->refcount);
2438 bmc->id.manufacturer_id,
2439 bmc->id.product_id,
2440 bmc->id.device_id);
2443 unsigned char orig_dev_id = bmc->id.device_id;
2447 "ipmi_bmc.%4.4x", bmc->id.product_id);
2450 bmc->id.product_id,
2451 bmc->id.device_id)) {
2460 bmc->id.product_id, bmc->id.device_id);
2463 bmc->id.device_id++; /* Wraps at 255 */
2464 if (bmc->id.device_id == orig_dev_id) {
2471 bmc->dev = platform_device_alloc(name, bmc->id.device_id);
2472 if (!bmc->dev) {
2479 bmc->dev->dev.driver = &ipmidriver.driver;
2480 dev_set_drvdata(&bmc->dev->dev, bmc);
2481 kref_init(&bmc->refcount);
2483 rv = platform_device_add(bmc->dev);
2486 platform_device_put(bmc->dev);
2487 bmc->dev = NULL;
2490 " Unable to register bmc device: %d\n",
2499 rv = create_files(bmc);
2502 platform_device_unregister(bmc->dev);
2510 bmc->id.manufacturer_id,
2511 bmc->id.product_id,
2512 bmc->id.device_id);
2516 * create symlink from system interface device to bmc device
2529 &bmc->dev->dev.kobj, intf->sysfs_name);
2534 "ipmi_msghandler: Unable to create bmc symlink: %d\n",
2552 rv = sysfs_create_link(&bmc->dev->dev.kobj, &intf->si_dev->kobj,
2561 " Unable to create symlink to bmc: %d\n",
2612 intf->bmc->guid_set = 0;
2617 intf->bmc->guid_set = 0;
2626 memcpy(intf->bmc->guid, msg->msg.data, 16);
2627 intf->bmc->guid_set = 1;
2637 intf->bmc->guid_set = 0x2;
2642 intf->bmc->guid_set = 0;
2643 wait_event(intf->waitq, intf->bmc->guid_set != 2);
2783 intf->bmc = kzalloc(sizeof(*intf->bmc), GFP_KERNEL);
2784 if (!intf->bmc) {
2790 intf->bmc->id = *device_id;