diff options
| -rw-r--r-- | drivers/acpi/acpi_lpss.c | 21 | ||||
| -rw-r--r-- | drivers/acpi/ec.c | 4 | ||||
| -rw-r--r-- | drivers/acpi/resource.c | 2 | ||||
| -rw-r--r-- | drivers/acpi/video.c | 9 | ||||
| -rw-r--r-- | drivers/cpufreq/s3c2416-cpufreq.c | 4 | ||||
| -rw-r--r-- | drivers/cpufreq/s3c24xx-cpufreq.c | 10 | ||||
| -rw-r--r-- | drivers/cpuidle/cpuidle-powernv.c | 84 | ||||
| -rw-r--r-- | drivers/pnp/resource.c | 6 |
8 files changed, 86 insertions, 54 deletions
diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c index 02e835f3cf8a..657964e8ab7e 100644 --- a/drivers/acpi/acpi_lpss.c +++ b/drivers/acpi/acpi_lpss.c | |||
| @@ -105,7 +105,7 @@ static void lpss_uart_setup(struct lpss_private_data *pdata) | |||
| 105 | } | 105 | } |
| 106 | } | 106 | } |
| 107 | 107 | ||
| 108 | static void byt_i2c_setup(struct lpss_private_data *pdata) | 108 | static void lpss_deassert_reset(struct lpss_private_data *pdata) |
| 109 | { | 109 | { |
| 110 | unsigned int offset; | 110 | unsigned int offset; |
| 111 | u32 val; | 111 | u32 val; |
| @@ -114,9 +114,18 @@ static void byt_i2c_setup(struct lpss_private_data *pdata) | |||
| 114 | val = readl(pdata->mmio_base + offset); | 114 | val = readl(pdata->mmio_base + offset); |
| 115 | val |= LPSS_RESETS_RESET_APB | LPSS_RESETS_RESET_FUNC; | 115 | val |= LPSS_RESETS_RESET_APB | LPSS_RESETS_RESET_FUNC; |
| 116 | writel(val, pdata->mmio_base + offset); | 116 | writel(val, pdata->mmio_base + offset); |
| 117 | } | ||
| 118 | |||
| 119 | #define LPSS_I2C_ENABLE 0x6c | ||
| 120 | |||
| 121 | static void byt_i2c_setup(struct lpss_private_data *pdata) | ||
| 122 | { | ||
| 123 | lpss_deassert_reset(pdata); | ||
| 117 | 124 | ||
| 118 | if (readl(pdata->mmio_base + pdata->dev_desc->prv_offset)) | 125 | if (readl(pdata->mmio_base + pdata->dev_desc->prv_offset)) |
| 119 | pdata->fixed_clk_rate = 133000000; | 126 | pdata->fixed_clk_rate = 133000000; |
| 127 | |||
| 128 | writel(0, pdata->mmio_base + LPSS_I2C_ENABLE); | ||
| 120 | } | 129 | } |
| 121 | 130 | ||
| 122 | static struct lpss_device_desc lpt_dev_desc = { | 131 | static struct lpss_device_desc lpt_dev_desc = { |
| @@ -125,7 +134,7 @@ static struct lpss_device_desc lpt_dev_desc = { | |||
| 125 | }; | 134 | }; |
| 126 | 135 | ||
| 127 | static struct lpss_device_desc lpt_i2c_dev_desc = { | 136 | static struct lpss_device_desc lpt_i2c_dev_desc = { |
| 128 | .flags = LPSS_CLK | LPSS_LTR, | 137 | .flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_LTR, |
| 129 | .prv_offset = 0x800, | 138 | .prv_offset = 0x800, |
| 130 | }; | 139 | }; |
| 131 | 140 | ||
| @@ -166,6 +175,12 @@ static struct lpss_device_desc byt_i2c_dev_desc = { | |||
| 166 | .setup = byt_i2c_setup, | 175 | .setup = byt_i2c_setup, |
| 167 | }; | 176 | }; |
| 168 | 177 | ||
| 178 | static struct lpss_device_desc bsw_spi_dev_desc = { | ||
| 179 | .flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_SAVE_CTX, | ||
| 180 | .prv_offset = 0x400, | ||
| 181 | .setup = lpss_deassert_reset, | ||
| 182 | }; | ||
| 183 | |||
| 169 | #else | 184 | #else |
| 170 | 185 | ||
| 171 | #define LPSS_ADDR(desc) (0UL) | 186 | #define LPSS_ADDR(desc) (0UL) |
| @@ -198,7 +213,7 @@ static const struct acpi_device_id acpi_lpss_device_ids[] = { | |||
| 198 | /* Braswell LPSS devices */ | 213 | /* Braswell LPSS devices */ |
| 199 | { "80862288", LPSS_ADDR(byt_pwm_dev_desc) }, | 214 | { "80862288", LPSS_ADDR(byt_pwm_dev_desc) }, |
| 200 | { "8086228A", LPSS_ADDR(byt_uart_dev_desc) }, | 215 | { "8086228A", LPSS_ADDR(byt_uart_dev_desc) }, |
| 201 | { "8086228E", LPSS_ADDR(byt_spi_dev_desc) }, | 216 | { "8086228E", LPSS_ADDR(bsw_spi_dev_desc) }, |
| 202 | { "808622C1", LPSS_ADDR(byt_i2c_dev_desc) }, | 217 | { "808622C1", LPSS_ADDR(byt_i2c_dev_desc) }, |
| 203 | 218 | ||
| 204 | { "INT3430", LPSS_ADDR(lpt_dev_desc) }, | 219 | { "INT3430", LPSS_ADDR(lpt_dev_desc) }, |
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index 982b67faaaf3..a8dd2f763382 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c | |||
| @@ -680,7 +680,7 @@ static void acpi_ec_start(struct acpi_ec *ec, bool resuming) | |||
| 680 | /* Enable GPE for event processing (SCI_EVT=1) */ | 680 | /* Enable GPE for event processing (SCI_EVT=1) */ |
| 681 | if (!resuming) | 681 | if (!resuming) |
| 682 | acpi_ec_submit_request(ec); | 682 | acpi_ec_submit_request(ec); |
| 683 | pr_info("+++++ EC started +++++\n"); | 683 | pr_debug("EC started\n"); |
| 684 | } | 684 | } |
| 685 | spin_unlock_irqrestore(&ec->lock, flags); | 685 | spin_unlock_irqrestore(&ec->lock, flags); |
| 686 | } | 686 | } |
| @@ -712,7 +712,7 @@ static void acpi_ec_stop(struct acpi_ec *ec, bool suspending) | |||
| 712 | acpi_ec_complete_request(ec); | 712 | acpi_ec_complete_request(ec); |
| 713 | clear_bit(EC_FLAGS_STARTED, &ec->flags); | 713 | clear_bit(EC_FLAGS_STARTED, &ec->flags); |
| 714 | clear_bit(EC_FLAGS_STOPPED, &ec->flags); | 714 | clear_bit(EC_FLAGS_STOPPED, &ec->flags); |
| 715 | pr_info("+++++ EC stopped +++++\n"); | 715 | pr_debug("EC stopped\n"); |
| 716 | } | 716 | } |
| 717 | spin_unlock_irqrestore(&ec->lock, flags); | 717 | spin_unlock_irqrestore(&ec->lock, flags); |
| 718 | } | 718 | } |
diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c index 4752b9939987..c723668e3e27 100644 --- a/drivers/acpi/resource.c +++ b/drivers/acpi/resource.c | |||
| @@ -46,7 +46,7 @@ static bool acpi_dev_resource_len_valid(u64 start, u64 end, u64 len, bool io) | |||
| 46 | if (len && reslen && reslen == len && start <= end) | 46 | if (len && reslen && reslen == len && start <= end) |
| 47 | return true; | 47 | return true; |
| 48 | 48 | ||
| 49 | pr_info("ACPI: invalid or unassigned resource %s [%016llx - %016llx] length [%016llx]\n", | 49 | pr_debug("ACPI: invalid or unassigned resource %s [%016llx - %016llx] length [%016llx]\n", |
| 50 | io ? "io" : "mem", start, end, len); | 50 | io ? "io" : "mem", start, end, len); |
| 51 | 51 | ||
| 52 | return false; | 52 | return false; |
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index 88a4f99dd2a7..debd30917010 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c | |||
| @@ -540,6 +540,15 @@ static struct dmi_system_id video_dmi_table[] __initdata = { | |||
| 540 | DMI_MATCH(DMI_PRODUCT_NAME, "730U3E/740U3E"), | 540 | DMI_MATCH(DMI_PRODUCT_NAME, "730U3E/740U3E"), |
| 541 | }, | 541 | }, |
| 542 | }, | 542 | }, |
| 543 | { | ||
| 544 | /* https://bugs.freedesktop.org/show_bug.cgi?id=87286 */ | ||
| 545 | .callback = video_disable_native_backlight, | ||
| 546 | .ident = "SAMSUNG 900X3C/900X3D/900X3E/900X4C/900X4D", | ||
| 547 | .matches = { | ||
| 548 | DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."), | ||
| 549 | DMI_MATCH(DMI_PRODUCT_NAME, "900X3C/900X3D/900X3E/900X4C/900X4D"), | ||
| 550 | }, | ||
| 551 | }, | ||
| 543 | 552 | ||
| 544 | { | 553 | { |
| 545 | /* https://bugzilla.redhat.com/show_bug.cgi?id=1163574 */ | 554 | /* https://bugzilla.redhat.com/show_bug.cgi?id=1163574 */ |
diff --git a/drivers/cpufreq/s3c2416-cpufreq.c b/drivers/cpufreq/s3c2416-cpufreq.c index 2fd53eaaec20..d6d425773fa4 100644 --- a/drivers/cpufreq/s3c2416-cpufreq.c +++ b/drivers/cpufreq/s3c2416-cpufreq.c | |||
| @@ -263,7 +263,7 @@ out: | |||
| 263 | } | 263 | } |
| 264 | 264 | ||
| 265 | #ifdef CONFIG_ARM_S3C2416_CPUFREQ_VCORESCALE | 265 | #ifdef CONFIG_ARM_S3C2416_CPUFREQ_VCORESCALE |
| 266 | static void __init s3c2416_cpufreq_cfg_regulator(struct s3c2416_data *s3c_freq) | 266 | static void s3c2416_cpufreq_cfg_regulator(struct s3c2416_data *s3c_freq) |
| 267 | { | 267 | { |
| 268 | int count, v, i, found; | 268 | int count, v, i, found; |
| 269 | struct cpufreq_frequency_table *pos; | 269 | struct cpufreq_frequency_table *pos; |
| @@ -333,7 +333,7 @@ static struct notifier_block s3c2416_cpufreq_reboot_notifier = { | |||
| 333 | .notifier_call = s3c2416_cpufreq_reboot_notifier_evt, | 333 | .notifier_call = s3c2416_cpufreq_reboot_notifier_evt, |
| 334 | }; | 334 | }; |
| 335 | 335 | ||
| 336 | static int __init s3c2416_cpufreq_driver_init(struct cpufreq_policy *policy) | 336 | static int s3c2416_cpufreq_driver_init(struct cpufreq_policy *policy) |
| 337 | { | 337 | { |
| 338 | struct s3c2416_data *s3c_freq = &s3c2416_cpufreq; | 338 | struct s3c2416_data *s3c_freq = &s3c2416_cpufreq; |
| 339 | struct cpufreq_frequency_table *pos; | 339 | struct cpufreq_frequency_table *pos; |
diff --git a/drivers/cpufreq/s3c24xx-cpufreq.c b/drivers/cpufreq/s3c24xx-cpufreq.c index d00f1cee4509..733aa5153e74 100644 --- a/drivers/cpufreq/s3c24xx-cpufreq.c +++ b/drivers/cpufreq/s3c24xx-cpufreq.c | |||
| @@ -144,11 +144,6 @@ static void s3c_cpufreq_setfvco(struct s3c_cpufreq_config *cfg) | |||
| 144 | (cfg->info->set_fvco)(cfg); | 144 | (cfg->info->set_fvco)(cfg); |
| 145 | } | 145 | } |
| 146 | 146 | ||
| 147 | static inline void s3c_cpufreq_resume_clocks(void) | ||
| 148 | { | ||
| 149 | cpu_cur.info->resume_clocks(); | ||
| 150 | } | ||
| 151 | |||
| 152 | static inline void s3c_cpufreq_updateclk(struct clk *clk, | 147 | static inline void s3c_cpufreq_updateclk(struct clk *clk, |
| 153 | unsigned int freq) | 148 | unsigned int freq) |
| 154 | { | 149 | { |
| @@ -417,9 +412,6 @@ static int s3c_cpufreq_resume(struct cpufreq_policy *policy) | |||
| 417 | 412 | ||
| 418 | last_target = ~0; /* invalidate last_target setting */ | 413 | last_target = ~0; /* invalidate last_target setting */ |
| 419 | 414 | ||
| 420 | /* first, find out what speed we resumed at. */ | ||
| 421 | s3c_cpufreq_resume_clocks(); | ||
| 422 | |||
| 423 | /* whilst we will be called later on, we try and re-set the | 415 | /* whilst we will be called later on, we try and re-set the |
| 424 | * cpu frequencies as soon as possible so that we do not end | 416 | * cpu frequencies as soon as possible so that we do not end |
| 425 | * up resuming devices and then immediately having to re-set | 417 | * up resuming devices and then immediately having to re-set |
| @@ -454,7 +446,7 @@ static struct cpufreq_driver s3c24xx_driver = { | |||
| 454 | }; | 446 | }; |
