diff options
Diffstat (limited to 'drivers/mfd/lpc_ich.c')
-rw-r--r-- | drivers/mfd/lpc_ich.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/mfd/lpc_ich.c b/drivers/mfd/lpc_ich.c index 2ad24caa07db..d9d930302e98 100644 --- a/drivers/mfd/lpc_ich.c +++ b/drivers/mfd/lpc_ich.c | |||
@@ -734,7 +734,7 @@ static int lpc_ich_init_gpio(struct pci_dev *dev, | |||
734 | pci_read_config_dword(dev, ACPIBASE, &base_addr_cfg); | 734 | pci_read_config_dword(dev, ACPIBASE, &base_addr_cfg); |
735 | base_addr = base_addr_cfg & 0x0000ff80; | 735 | base_addr = base_addr_cfg & 0x0000ff80; |
736 | if (!base_addr) { | 736 | if (!base_addr) { |
737 | dev_err(&dev->dev, "I/O space for ACPI uninitialized\n"); | 737 | dev_notice(&dev->dev, "I/O space for ACPI uninitialized\n"); |
738 | lpc_ich_cells[LPC_GPIO].num_resources--; | 738 | lpc_ich_cells[LPC_GPIO].num_resources--; |
739 | goto gpe0_done; | 739 | goto gpe0_done; |
740 | } | 740 | } |
@@ -760,7 +760,7 @@ gpe0_done: | |||
760 | pci_read_config_dword(dev, GPIOBASE, &base_addr_cfg); | 760 | pci_read_config_dword(dev, GPIOBASE, &base_addr_cfg); |
761 | base_addr = base_addr_cfg & 0x0000ff80; | 761 | base_addr = base_addr_cfg & 0x0000ff80; |
762 | if (!base_addr) { | 762 | if (!base_addr) { |
763 | dev_err(&dev->dev, "I/O space for GPIO uninitialized\n"); | 763 | dev_notice(&dev->dev, "I/O space for GPIO uninitialized\n"); |
764 | ret = -ENODEV; | 764 | ret = -ENODEV; |
765 | goto gpio_done; | 765 | goto gpio_done; |
766 | } | 766 | } |
@@ -810,7 +810,7 @@ static int lpc_ich_init_wdt(struct pci_dev *dev, | |||
810 | pci_read_config_dword(dev, ACPIBASE, &base_addr_cfg); | 810 | pci_read_config_dword(dev, ACPIBASE, &base_addr_cfg); |
811 | base_addr = base_addr_cfg & 0x0000ff80; | 811 | base_addr = base_addr_cfg & 0x0000ff80; |
812 | if (!base_addr) { | 812 | if (!base_addr) { |
813 | dev_err(&dev->dev, "I/O space for ACPI uninitialized\n"); | 813 | dev_notice(&dev->dev, "I/O space for ACPI uninitialized\n"); |
814 | ret = -ENODEV; | 814 | ret = -ENODEV; |
815 | goto wdt_done; | 815 | goto wdt_done; |
816 | } | 816 | } |
@@ -830,12 +830,15 @@ static int lpc_ich_init_wdt(struct pci_dev *dev, | |||
830 | * we have to read RCBA from PCI Config space 0xf0 and use | 830 | * we have to read RCBA from PCI Config space 0xf0 and use |
831 | * it as base. GCS = RCBA + ICH6_GCS(0x3410). | 831 | * it as base. GCS = RCBA + ICH6_GCS(0x3410). |
832 | */ | 832 | */ |
833 | if (lpc_chipset_info[id->driver_data].iTCO_version == 2) { | 833 | if (lpc_chipset_info[id->driver_data].iTCO_version == 1) { |
834 | /* Don't register iomem for TCO ver 1 */ | ||
835 | lpc_ich_cells[LPC_WDT].num_resources--; | ||
836 | } else { | ||
834 | pci_read_config_dword(dev, RCBABASE, &base_addr_cfg); | 837 | pci_read_config_dword(dev, RCBABASE, &base_addr_cfg); |
835 | base_addr = base_addr_cfg & 0xffffc000; | 838 | base_addr = base_addr_cfg & 0xffffc000; |
836 | if (!(base_addr_cfg & 1)) { | 839 | if (!(base_addr_cfg & 1)) { |
837 | pr_err("RCBA is disabled by hardware/BIOS, " | 840 | dev_notice(&dev->dev, "RCBA is disabled by " |
838 | "device disabled\n"); | 841 | "hardware/BIOS, device disabled\n"); |
839 | ret = -ENODEV; | 842 | ret = -ENODEV; |
840 | goto wdt_done; | 843 | goto wdt_done; |
841 | } | 844 | } |
@@ -871,6 +874,7 @@ static int lpc_ich_probe(struct pci_dev *dev, | |||
871 | * successfully. | 874 | * successfully. |
872 | */ | 875 | */ |
873 | if (!cell_added) { | 876 | if (!cell_added) { |
877 | dev_warn(&dev->dev, "No MFD cells added\n"); | ||
874 | lpc_ich_restore_config_space(dev); | 878 | lpc_ich_restore_config_space(dev); |
875 | return -ENODEV; | 879 | return -ENODEV; |
876 | } | 880 | } |