diff options
| author | Jonathan Corbet <corbet@lwn.net> | 2008-07-14 17:29:34 -0400 |
|---|---|---|
| committer | Jonathan Corbet <corbet@lwn.net> | 2008-07-14 17:29:34 -0400 |
| commit | 2fceef397f9880b212a74c418290ce69e7ac00eb (patch) | |
| tree | d9cc09ab992825ef7fede4a688103503e3caf655 /drivers/macintosh | |
| parent | feae1ef116ed381625d3731c5ae4f4ebcb3fa302 (diff) | |
| parent | bce7f793daec3e65ec5c5705d2457b81fe7b5725 (diff) | |
Merge commit 'v2.6.26' into bkl-removal
Diffstat (limited to 'drivers/macintosh')
| -rw-r--r-- | drivers/macintosh/mediabay.c | 7 | ||||
| -rw-r--r-- | drivers/macintosh/smu.c | 5 | ||||
| -rw-r--r-- | drivers/macintosh/therm_adt746x.c | 13 |
3 files changed, 18 insertions, 7 deletions
diff --git a/drivers/macintosh/mediabay.c b/drivers/macintosh/mediabay.c index 82add26cc665..818aba368541 100644 --- a/drivers/macintosh/mediabay.c +++ b/drivers/macintosh/mediabay.c | |||
| @@ -84,7 +84,7 @@ struct media_bay_info { | |||
| 84 | int cd_irq; | 84 | int cd_irq; |
| 85 | int cd_retry; | 85 | int cd_retry; |
| 86 | #endif | 86 | #endif |
| 87 | #if defined(CONFIG_BLK_DEV_IDE_PMAC) || defined(CONFIG_MAC_FLOPPY) | 87 | #if defined(CONFIG_BLK_DEV_IDE_PMAC) |
| 88 | int cd_index; | 88 | int cd_index; |
| 89 | #endif | 89 | #endif |
| 90 | }; | 90 | }; |
| @@ -417,6 +417,7 @@ static void poll_media_bay(struct media_bay_info* bay) | |||
| 417 | } | 417 | } |
| 418 | } | 418 | } |
| 419 | 419 | ||
| 420 | #ifdef CONFIG_BLK_DEV_IDE_PMAC | ||
| 420 | int check_media_bay(struct device_node *which_bay, int what) | 421 | int check_media_bay(struct device_node *which_bay, int what) |
| 421 | { | 422 | { |
| 422 | int i; | 423 | int i; |
| @@ -432,7 +433,6 @@ int check_media_bay(struct device_node *which_bay, int what) | |||
| 432 | } | 433 | } |
| 433 | EXPORT_SYMBOL(check_media_bay); | 434 | EXPORT_SYMBOL(check_media_bay); |
| 434 | 435 | ||
| 435 | #ifdef CONFIG_BLK_DEV_IDE_PMAC | ||
| 436 | int check_media_bay_by_base(unsigned long base, int what) | 436 | int check_media_bay_by_base(unsigned long base, int what) |
| 437 | { | 437 | { |
| 438 | int i; | 438 | int i; |
| @@ -556,7 +556,8 @@ static void media_bay_step(int i) | |||
| 556 | printk("mediabay %d, registering IDE...\n", i); | 556 | printk("mediabay %d, registering IDE...\n", i); |
| 557 | pmu_suspend(); | 557 | pmu_suspend(); |
| 558 | ide_port_scan(bay->cd_port); | 558 | ide_port_scan(bay->cd_port); |
| 559 | bay->cd_index = bay->cd_port->index; | 559 | if (bay->cd_port->present) |
| 560 | bay->cd_index = bay->cd_port->index; | ||
| 560 | pmu_resume(); | 561 | pmu_resume(); |
| 561 | } | 562 | } |
| 562 | if (bay->cd_index == -1) { | 563 | if (bay->cd_index == -1) { |
diff --git a/drivers/macintosh/smu.c b/drivers/macintosh/smu.c index b82fcd210bf3..32cb0298f88e 100644 --- a/drivers/macintosh/smu.c +++ b/drivers/macintosh/smu.c | |||
| @@ -484,12 +484,15 @@ int __init smu_init (void) | |||
| 484 | 484 | ||
| 485 | if (smu_cmdbuf_abs == 0) { | 485 | if (smu_cmdbuf_abs == 0) { |
| 486 | printk(KERN_ERR "SMU: Command buffer not allocated !\n"); | 486 | printk(KERN_ERR "SMU: Command buffer not allocated !\n"); |
| 487 | of_node_put(np); | ||
| 487 | return -EINVAL; | 488 | return -EINVAL; |
| 488 | } | 489 | } |
| 489 | 490 | ||
| 490 | smu = alloc_bootmem(sizeof(struct smu_device)); | 491 | smu = alloc_bootmem(sizeof(struct smu_device)); |
| 491 | if (smu == NULL) | 492 | if (smu == NULL) { |
| 493 | of_node_put(np); | ||
| 492 | return -ENOMEM; | 494 | return -ENOMEM; |
| 495 | } | ||
| 493 | memset(smu, 0, sizeof(*smu)); | 496 | memset(smu, 0, sizeof(*smu)); |
| 494 | 497 | ||
| 495 | spin_lock_init(&smu->lock); | 498 | spin_lock_init(&smu->lock); |
diff --git a/drivers/macintosh/therm_adt746x.c b/drivers/macintosh/therm_adt746x.c index 54f4942a2968..5366dc93fb38 100644 --- a/drivers/macintosh/therm_adt746x.c +++ b/drivers/macintosh/therm_adt746x.c | |||
| @@ -562,18 +562,24 @@ thermostat_init(void) | |||
| 562 | therm_type = ADT7460; | 562 | therm_type = ADT7460; |
| 563 | else if (of_device_is_compatible(np, "adt7467")) | 563 | else if (of_device_is_compatible(np, "adt7467")) |
| 564 | therm_type = ADT7467; | 564 | therm_type = ADT7467; |
| 565 | else | 565 | else { |
| 566 | of_node_put(np); | ||
| 566 | return -ENODEV; | 567 | return -ENODEV; |
| 568 | } | ||
| 567 | 569 | ||
| 568 | prop = of_get_property(np, "hwsensor-params-version", NULL); | 570 | prop = of_get_property(np, "hwsensor-params-version", NULL); |
| 569 | printk(KERN_INFO "adt746x: version %d (%ssupported)\n", *prop, | 571 | printk(KERN_INFO "adt746x: version %d (%ssupported)\n", *prop, |
| 570 | (*prop == 1)?"":"un"); | 572 | (*prop == 1)?"":"un"); |
| 571 | if (*prop != 1) | 573 | if (*prop != 1) { |
| 574 | of_node_put(np); | ||
| 572 | return -ENODEV; | 575 | return -ENODEV; |
| 576 | } | ||
| 573 | 577 | ||
| 574 | prop = of_get_property(np, "reg", NULL); | 578 | prop = of_get_property(np, "reg", NULL); |
| 575 | if (!prop) | 579 | if (!prop) { |
| 580 | of_node_put(np); | ||
| 576 | return -ENODEV; | 581 | return -ENODEV; |
| 582 | } | ||
| 577 | 583 | ||
| 578 | /* look for bus either by path or using "reg" */ | 584 | /* look for bus either by path or using "reg" */ |
| 579 | if (strstr(np->full_name, "/i2c-bus@") != NULL) { | 585 | if (strstr(np->full_name, "/i2c-bus@") != NULL) { |
| @@ -610,6 +616,7 @@ thermostat_init(void) | |||
| 610 | 616 | ||
| 611 | if (of_dev == NULL) { | 617 | if (of_dev == NULL) { |
| 612 | printk(KERN_ERR "Can't register temperatures device !\n"); | 618 | printk(KERN_ERR "Can't register temperatures device !\n"); |
| 619 | of_node_put(np); | ||
| 613 | return -ENODEV; | 620 | return -ENODEV; |
| 614 | } | 621 | } |
| 615 | 622 | ||
