diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/acpi/apei/hest.c | 12 | ||||
-rw-r--r-- | drivers/acpi/osl.c | 17 | ||||
-rw-r--r-- | drivers/gpio/wm831x-gpio.c | 1 | ||||
-rw-r--r-- | drivers/hwmon/adm1275.c | 10 | ||||
-rw-r--r-- | drivers/hwmon/pmbus_core.c | 20 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-core/dvb_frontend.c | 8 | ||||
-rw-r--r-- | drivers/media/radio/Kconfig | 4 | ||||
-rw-r--r-- | drivers/media/rc/mceusb.c | 9 | ||||
-rw-r--r-- | drivers/media/rc/nuvoton-cir.c | 2 | ||||
-rw-r--r-- | drivers/media/video/cx23885/cx23885-core.c | 9 | ||||
-rw-r--r-- | drivers/media/video/tuner-core.c | 16 | ||||
-rw-r--r-- | drivers/watchdog/Kconfig | 3 |
12 files changed, 58 insertions, 53 deletions
diff --git a/drivers/acpi/apei/hest.c b/drivers/acpi/apei/hest.c index abda3786a5d7..181bc2f7bb74 100644 --- a/drivers/acpi/apei/hest.c +++ b/drivers/acpi/apei/hest.c | |||
@@ -139,13 +139,23 @@ static int __init hest_parse_ghes(struct acpi_hest_header *hest_hdr, void *data) | |||
139 | { | 139 | { |
140 | struct platform_device *ghes_dev; | 140 | struct platform_device *ghes_dev; |
141 | struct ghes_arr *ghes_arr = data; | 141 | struct ghes_arr *ghes_arr = data; |
142 | int rc; | 142 | int rc, i; |
143 | 143 | ||
144 | if (hest_hdr->type != ACPI_HEST_TYPE_GENERIC_ERROR) | 144 | if (hest_hdr->type != ACPI_HEST_TYPE_GENERIC_ERROR) |
145 | return 0; | 145 | return 0; |
146 | 146 | ||
147 | if (!((struct acpi_hest_generic *)hest_hdr)->enabled) | 147 | if (!((struct acpi_hest_generic *)hest_hdr)->enabled) |
148 | return 0; | 148 | return 0; |
149 | for (i = 0; i < ghes_arr->count; i++) { | ||
150 | struct acpi_hest_header *hdr; | ||
151 | ghes_dev = ghes_arr->ghes_devs[i]; | ||
152 | hdr = *(struct acpi_hest_header **)ghes_dev->dev.platform_data; | ||
153 | if (hdr->source_id == hest_hdr->source_id) { | ||
154 | pr_warning(FW_WARN HEST_PFX "Duplicated hardware error source ID: %d.\n", | ||
155 | hdr->source_id); | ||
156 | return -EIO; | ||
157 | } | ||
158 | } | ||
149 | ghes_dev = platform_device_alloc("GHES", hest_hdr->source_id); | 159 | ghes_dev = platform_device_alloc("GHES", hest_hdr->source_id); |
150 | if (!ghes_dev) | 160 | if (!ghes_dev) |
151 | return -ENOMEM; | 161 | return -ENOMEM; |
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index 52ca9649d769..372f9b70f7f4 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c | |||
@@ -1333,23 +1333,6 @@ int acpi_resources_are_enforced(void) | |||
1333 | EXPORT_SYMBOL(acpi_resources_are_enforced); | 1333 | EXPORT_SYMBOL(acpi_resources_are_enforced); |
1334 | 1334 | ||
1335 | /* | 1335 | /* |
1336 | * Create and initialize a spinlock. | ||
1337 | */ | ||
1338 | acpi_status | ||
1339 | acpi_os_create_lock(acpi_spinlock *out_handle) | ||
1340 | { | ||
1341 | spinlock_t *lock; | ||
1342 | |||
1343 | lock = ACPI_ALLOCATE(sizeof(spinlock_t)); | ||
1344 | if (!lock) | ||
1345 | return AE_NO_MEMORY; | ||
1346 | spin_lock_init(lock); | ||
1347 | *out_handle = lock; | ||
1348 | |||
1349 | return AE_OK; | ||
1350 | } | ||
1351 | |||
1352 | /* | ||
1353 | * Deallocate the memory for a spinlock. | 1336 | * Deallocate the memory for a spinlock. |
1354 | */ | 1337 | */ |
1355 | void acpi_os_delete_lock(acpi_spinlock handle) | 1338 | void acpi_os_delete_lock(acpi_spinlock handle) |
diff --git a/drivers/gpio/wm831x-gpio.c b/drivers/gpio/wm831x-gpio.c index 309644cf4d9b..2bcfb0be09ff 100644 --- a/drivers/gpio/wm831x-gpio.c +++ b/drivers/gpio/wm831x-gpio.c | |||
@@ -180,6 +180,7 @@ static void wm831x_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip) | |||
180 | break; | 180 | break; |
181 | case WM831X_GPIO_PULL_UP: | 181 | case WM831X_GPIO_PULL_UP: |
182 | pull = "pullup"; | 182 | pull = "pullup"; |
183 | break; | ||
183 | default: | 184 | default: |
184 | pull = "INVALID PULL"; | 185 | pull = "INVALID PULL"; |
185 | break; | 186 | break; |
diff --git a/drivers/hwmon/adm1275.c b/drivers/hwmon/adm1275.c index b9b7caf4a1d2..8bc1bd663721 100644 --- a/drivers/hwmon/adm1275.c +++ b/drivers/hwmon/adm1275.c | |||
@@ -53,23 +53,23 @@ static int adm1275_probe(struct i2c_client *client, | |||
53 | info->direct[PSC_VOLTAGE_IN] = true; | 53 | info->direct[PSC_VOLTAGE_IN] = true; |
54 | info->direct[PSC_VOLTAGE_OUT] = true; | 54 | info->direct[PSC_VOLTAGE_OUT] = true; |
55 | info->direct[PSC_CURRENT_OUT] = true; | 55 | info->direct[PSC_CURRENT_OUT] = true; |
56 | info->m[PSC_CURRENT_OUT] = 800; | 56 | info->m[PSC_CURRENT_OUT] = 807; |
57 | info->b[PSC_CURRENT_OUT] = 20475; | 57 | info->b[PSC_CURRENT_OUT] = 20475; |
58 | info->R[PSC_CURRENT_OUT] = -1; | 58 | info->R[PSC_CURRENT_OUT] = -1; |
59 | info->func[0] = PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT; | 59 | info->func[0] = PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT; |
60 | 60 | ||
61 | if (config & ADM1275_VRANGE) { | 61 | if (config & ADM1275_VRANGE) { |
62 | info->m[PSC_VOLTAGE_IN] = 19045; | 62 | info->m[PSC_VOLTAGE_IN] = 19199; |
63 | info->b[PSC_VOLTAGE_IN] = 0; | 63 | info->b[PSC_VOLTAGE_IN] = 0; |
64 | info->R[PSC_VOLTAGE_IN] = -2; | 64 | info->R[PSC_VOLTAGE_IN] = -2; |
65 | info->m[PSC_VOLTAGE_OUT] = 19045; | 65 | info->m[PSC_VOLTAGE_OUT] = 19199; |
66 | info->b[PSC_VOLTAGE_OUT] = 0; | 66 | info->b[PSC_VOLTAGE_OUT] = 0; |
67 | info->R[PSC_VOLTAGE_OUT] = -2; | 67 | info->R[PSC_VOLTAGE_OUT] = -2; |
68 | } else { | 68 | } else { |
69 | info->m[PSC_VOLTAGE_IN] = 6666; | 69 | info->m[PSC_VOLTAGE_IN] = 6720; |
70 | info->b[PSC_VOLTAGE_IN] = 0; | 70 | info->b[PSC_VOLTAGE_IN] = 0; |
71 | info->R[PSC_VOLTAGE_IN] = -1; | 71 | info->R[PSC_VOLTAGE_IN] = -1; |
72 | info->m[PSC_VOLTAGE_OUT] = 6666; | 72 | info->m[PSC_VOLTAGE_OUT] = 6720; |
73 | info->b[PSC_VOLTAGE_OUT] = 0; | 73 | info->b[PSC_VOLTAGE_OUT] = 0; |
74 | info->R[PSC_VOLTAGE_OUT] = -1; | 74 | info->R[PSC_VOLTAGE_OUT] = -1; |
75 | } | 75 | } |
diff --git a/drivers/hwmon/pmbus_core.c b/drivers/hwmon/pmbus_core.c index 744672c1f26d..8e31a8e2c746 100644 --- a/drivers/hwmon/pmbus_core.c +++ b/drivers/hwmon/pmbus_core.c | |||
@@ -362,8 +362,8 @@ static struct pmbus_data *pmbus_update_device(struct device *dev) | |||
362 | * Convert linear sensor values to milli- or micro-units | 362 | * Convert linear sensor values to milli- or micro-units |
363 | * depending on sensor type. | 363 | * depending on sensor type. |
364 | */ | 364 | */ |
365 | static int pmbus_reg2data_linear(struct pmbus_data *data, | 365 | static long pmbus_reg2data_linear(struct pmbus_data *data, |
366 | struct pmbus_sensor *sensor) | 366 | struct pmbus_sensor *sensor) |
367 | { | 367 | { |
368 | s16 exponent; | 368 | s16 exponent; |
369 | s32 mantissa; | 369 | s32 mantissa; |
@@ -397,15 +397,15 @@ static int pmbus_reg2data_linear(struct pmbus_data *data, | |||
397 | else | 397 | else |
398 | val >>= -exponent; | 398 | val >>= -exponent; |
399 | 399 | ||
400 | return (int)val; | 400 | return val; |
401 | } | 401 | } |
402 | 402 | ||
403 | /* | 403 | /* |
404 | * Convert direct sensor values to milli- or micro-units | 404 | * Convert direct sensor values to milli- or micro-units |
405 | * depending on sensor type. | 405 | * depending on sensor type. |
406 | */ | 406 | */ |
407 | static int pmbus_reg2data_direct(struct pmbus_data *data, | 407 | static long pmbus_reg2data_direct(struct pmbus_data *data, |
408 | struct pmbus_sensor *sensor) | 408 | struct pmbus_sensor *sensor) |
409 | { | 409 | { |
410 | long val = (s16) sensor->data; | 410 | long val = (s16) sensor->data; |
411 | long m, b, R; | 411 | long m, b, R; |
@@ -440,12 +440,12 @@ static int pmbus_reg2data_direct(struct pmbus_data *data, | |||
440 | R++; | 440 | R++; |
441 | } | 441 | } |
442 | 442 | ||
443 | return (int)((val - b) / m); | 443 | return (val - b) / m; |
444 | } | 444 | } |
445 | 445 | ||
446 | static int pmbus_reg2data(struct pmbus_data *data, struct pmbus_sensor *sensor) | 446 | static long pmbus_reg2data(struct pmbus_data *data, struct pmbus_sensor *sensor) |
447 | { | 447 | { |
448 | int val; | 448 | long val; |
449 | 449 | ||
450 | if (data->info->direct[sensor->class]) | 450 | if (data->info->direct[sensor->class]) |
451 | val = pmbus_reg2data_direct(data, sensor); | 451 | val = pmbus_reg2data_direct(data, sensor); |
@@ -619,7 +619,7 @@ static int pmbus_get_boolean(struct pmbus_data *data, int index, int *val) | |||
619 | if (!s1 && !s2) | 619 | if (!s1 && !s2) |
620 | *val = !!regval; | 620 | *val = !!regval; |
621 | else { | 621 | else { |
622 | int v1, v2; | 622 | long v1, v2; |
623 | struct pmbus_sensor *sensor1, *sensor2; | 623 | struct pmbus_sensor *sensor1, *sensor2; |
624 | 624 | ||
625 | sensor1 = &data->sensors[s1]; | 625 | sensor1 = &data->sensors[s1]; |
@@ -661,7 +661,7 @@ static ssize_t pmbus_show_sensor(struct device *dev, | |||
661 | if (sensor->data < 0) | 661 | if (sensor->data < 0) |
662 | return sensor->data; | 662 | return sensor->data; |
663 | 663 | ||
664 | return snprintf(buf, PAGE_SIZE, "%d\n", pmbus_reg2data(data, sensor)); | 664 | return snprintf(buf, PAGE_SIZE, "%ld\n", pmbus_reg2data(data, sensor)); |
665 | } | 665 | } |
666 | 666 | ||
667 | static ssize_t pmbus_set_sensor(struct device *dev, | 667 | static ssize_t pmbus_set_sensor(struct device *dev, |
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c index 98278041d75f..5b6b451d4694 100644 --- a/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/drivers/media/dvb/dvb-core/dvb_frontend.c | |||
@@ -1988,6 +1988,14 @@ static int dvb_frontend_open(struct inode *inode, struct file *file) | |||
1988 | if (dvbdev->users == -1 && fe->ops.ts_bus_ctrl) { | 1988 | if (dvbdev->users == -1 && fe->ops.ts_bus_ctrl) { |
1989 | if ((ret = fe->ops.ts_bus_ctrl(fe, 1)) < 0) | 1989 | if ((ret = fe->ops.ts_bus_ctrl(fe, 1)) < 0) |
1990 | goto err0; | 1990 | goto err0; |
1991 | |||
1992 | /* If we took control of the bus, we need to force | ||
1993 | reinitialization. This is because many ts_bus_ctrl() | ||
1994 | functions strobe the RESET pin on the demod, and if the | ||
1995 | frontend thread already exists then the dvb_init() routine | ||
1996 | won't get called (which is what usually does initial | ||
1997 | register configuration). */ | ||
1998 | fepriv->reinitialise = 1; | ||
1991 | } | 1999 | } |
1992 | 2000 | ||
1993 | if ((ret = dvb_generic_open (inode, file)) < 0) | 2001 | if ((ret = dvb_generic_open (inode, file)) < 0) |
diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig index e4c97fd6f05a..52798a111e16 100644 --- a/drivers/media/radio/Kconfig +++ b/drivers/media/radio/Kconfig | |||
@@ -168,7 +168,7 @@ config RADIO_MAXIRADIO | |||
168 | 168 | ||
169 | config RADIO_MIROPCM20 | 169 | config RADIO_MIROPCM20 |
170 | tristate "miroSOUND PCM20 radio" | 170 | tristate "miroSOUND PCM20 radio" |
171 | depends on ISA && VIDEO_V4L2 && SND | 171 | depends on ISA && ISA_DMA_API && VIDEO_V4L2 && SND |
172 | select SND_ISA | 172 | select SND_ISA |
173 | select SND_MIRO | 173 | select SND_MIRO |
174 | ---help--- | 174 | ---help--- |
@@ -201,7 +201,7 @@ config RADIO_SF16FMI | |||
201 | 201 | ||
202 | config RADIO_SF16FMR2 | 202 | config RADIO_SF16FMR2 |
203 | tristate "SF16FMR2 Radio" | 203 | tristate "SF16FMR2 Radio" |
204 | depends on ISA && VIDEO_V4L2 | 204 | depends on ISA && VIDEO_V4L2 && SND |
205 | ---help--- | 205 | ---help--- |
206 | Choose Y here if you have one of these FM radio cards. | 206 | Choose Y here if you have one of these FM radio cards. |
207 | 207 | ||
diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c index 06dfe0957b5e..ec972dc25790 100644 --- a/drivers/media/rc/mceusb.c +++ b/drivers/media/rc/mceusb.c | |||
@@ -558,9 +558,10 @@ static void mceusb_dev_printdata(struct mceusb_dev *ir, char *buf, | |||
558 | inout, data1); | 558 | inout, data1); |
559 | break; | 559 | break; |
560 | case MCE_CMD_S_TIMEOUT: | 560 | case MCE_CMD_S_TIMEOUT: |
561 | /* value is in units of 50us, so x*50/100 or x/2 ms */ | 561 | /* value is in units of 50us, so x*50/1000 ms */ |
562 | dev_info(dev, "%s receive timeout of %d ms\n", | 562 | dev_info(dev, "%s receive timeout of %d ms\n", |
563 | inout, ((data1 << 8) | data2) / 2); | 563 | inout, |
564 | ((data1 << 8) | data2) * MCE_TIME_UNIT / 1000); | ||
564 | break; | 565 | break; |
565 | case MCE_CMD_G_TIMEOUT: | 566 | case MCE_CMD_G_TIMEOUT: |
566 | dev_info(dev, "Get receive timeout\n"); | 567 | dev_info(dev, "Get receive timeout\n"); |
@@ -847,7 +848,7 @@ static void mceusb_handle_command(struct mceusb_dev *ir, int index) | |||
847 | switch (ir->buf_in[index]) { | 848 | switch (ir->buf_in[index]) { |
848 | /* 2-byte return value commands */ | 849 | /* 2-byte return value commands */ |
849 | case MCE_CMD_S_TIMEOUT: | 850 | case MCE_CMD_S_TIMEOUT: |
850 | ir->rc->timeout = US_TO_NS((hi << 8 | lo) / 2); | 851 | ir->rc->timeout = US_TO_NS((hi << 8 | lo) * MCE_TIME_UNIT); |
851 | break; | 852 | break; |
852 | 853 | ||
853 | /* 1-byte return value commands */ | 854 | /* 1-byte return value commands */ |
@@ -1078,7 +1079,7 @@ static struct rc_dev *mceusb_init_rc_dev(struct mceusb_dev *ir) | |||
1078 | rc->priv = ir; | 1079 | rc->priv = ir; |
1079 | rc->driver_type = RC_DRIVER_IR_RAW; | 1080 | rc->driver_type = RC_DRIVER_IR_RAW; |
1080 | rc->allowed_protos = RC_TYPE_ALL; | 1081 | rc->allowed_protos = RC_TYPE_ALL; |
1081 | rc->timeout = US_TO_NS(1000); | 1082 | rc->timeout = MS_TO_NS(100); |
1082 | if (!ir->flags.no_tx) { | 1083 | if (!ir->flags.no_tx) { |
1083 | rc->s_tx_mask = mceusb_set_tx_mask; | 1084 | rc->s_tx_mask = mceusb_set_tx_mask; |
1084 | rc->s_tx_carrier = mceusb_set_tx_carrier; | 1085 | rc->s_tx_carrier = mceusb_set_tx_carrier; |
diff --git a/drivers/media/rc/nuvoton-cir.c b/drivers/media/rc/nuvoton-cir.c index 565f24c20d77..ce595f9ab4c7 100644 --- a/drivers/media/rc/nuvoton-cir.c +++ b/drivers/media/rc/nuvoton-cir.c | |||
@@ -1110,7 +1110,7 @@ static int nvt_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id) | |||
1110 | rdev->dev.parent = &pdev->dev; | 1110 | rdev->dev.parent = &pdev->dev; |
1111 | rdev->driver_name = NVT_DRIVER_NAME; | 1111 | rdev->driver_name = NVT_DRIVER_NAME; |
1112 | rdev->map_name = RC_MAP_RC6_MCE; | 1112 | rdev->map_name = RC_MAP_RC6_MCE; |
1113 | rdev->timeout = US_TO_NS(1000); | 1113 | rdev->timeout = MS_TO_NS(100); |
1114 | /* rx resolution is hardwired to 50us atm, 1, 25, 100 also possible */ | 1114 | /* rx resolution is hardwired to 50us atm, 1, 25, 100 also possible */ |
1115 | rdev->rx_resolution = US_TO_NS(CIR_SAMPLE_PERIOD); | 1115 | rdev->rx_resolution = US_TO_NS(CIR_SAMPLE_PERIOD); |
1116 | #if 0 | 1116 | #if 0 |
diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c index 64d9b2136ff6..419777a832ee 100644 --- a/drivers/media/video/cx23885/cx23885-core.c +++ b/drivers/media/video/cx23885/cx23885-core.c | |||
@@ -2060,12 +2060,8 @@ static int __devinit cx23885_initdev(struct pci_dev *pci_dev, | |||
2060 | goto fail_irq; | 2060 | goto fail_irq; |
2061 | } | 2061 | } |
2062 | 2062 | ||
2063 | if (!pci_enable_msi(pci_dev)) | 2063 | err = request_irq(pci_dev->irq, cx23885_irq, |
2064 | err = request_irq(pci_dev->irq, cx23885_irq, | 2064 | IRQF_SHARED | IRQF_DISABLED, dev->name, dev); |
2065 | IRQF_DISABLED, dev->name, dev); | ||
2066 | else | ||
2067 | err = request_irq(pci_dev->irq, cx23885_irq, | ||
2068 | IRQF_SHARED | IRQF_DISABLED, dev->name, dev); | ||
2069 | if (err < 0) { | 2065 | if (err < 0) { |
2070 | printk(KERN_ERR "%s: can't get IRQ %d\n", | 2066 | printk(KERN_ERR "%s: can't get IRQ %d\n", |
2071 | dev->name, pci_dev->irq); | 2067 | dev->name, pci_dev->irq); |
@@ -2114,7 +2110,6 @@ static void __devexit cx23885_finidev(struct pci_dev *pci_dev) | |||
2114 | 2110 | ||
2115 | /* unregister stuff */ | 2111 | /* unregister stuff */ |
2116 | free_irq(pci_dev->irq, dev); | 2112 | free_irq(pci_dev->irq, dev); |
2117 | pci_disable_msi(pci_dev); | ||
2118 | 2113 | ||
2119 | cx23885_dev_unregister(dev); | 2114 | cx23885_dev_unregister(dev); |
2120 | v4l2_device_unregister(v4l2_dev); | 2115 | v4l2_device_unregister(v4l2_dev); |
diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c index cfa9f7efe93d..a03945ab9f08 100644 --- a/drivers/media/video/tuner-core.c +++ b/drivers/media/video/tuner-core.c | |||
@@ -714,10 +714,19 @@ static int tuner_remove(struct i2c_client *client) | |||
714 | * returns 0. | 714 | * returns 0. |
715 | * This function is needed for boards that have a separate tuner for | 715 | * This function is needed for boards that have a separate tuner for |
716 | * radio (like devices with tea5767). | 716 | * radio (like devices with tea5767). |
717 | * NOTE: mt20xx uses V4L2_TUNER_DIGITAL_TV and calls set_tv_freq to | ||
718 | * select a TV frequency. So, t_mode = T_ANALOG_TV could actually | ||
719 | * be used to represent a Digital TV too. | ||
717 | */ | 720 | */ |
718 | static inline int check_mode(struct tuner *t, enum v4l2_tuner_type mode) | 721 | static inline int check_mode(struct tuner *t, enum v4l2_tuner_type mode) |
719 | { | 722 | { |
720 | if ((1 << mode & t->mode_mask) == 0) | 723 | int t_mode; |
724 | if (mode == V4L2_TUNER_RADIO) | ||
725 | t_mode = T_RADIO; | ||
726 | else | ||
727 | t_mode = T_ANALOG_TV; | ||
728 | |||
729 | if ((t_mode & t->mode_mask) == 0) | ||
721 | return -EINVAL; | 730 | return -EINVAL; |
722 | 731 | ||
723 | return 0; | 732 | return 0; |
@@ -984,7 +993,7 @@ static void tuner_status(struct dvb_frontend *fe) | |||
984 | case V4L2_TUNER_RADIO: | 993 | case V4L2_TUNER_RADIO: |
985 | p = "radio"; | 994 | p = "radio"; |
986 | break; | 995 | break; |
987 | case V4L2_TUNER_DIGITAL_TV: | 996 | case V4L2_TUNER_DIGITAL_TV: /* Used by mt20xx */ |
988 | p = "digital TV"; | 997 | p = "digital TV"; |
989 | break; | 998 | break; |
990 | case V4L2_TUNER_ANALOG_TV: | 999 | case V4L2_TUNER_ANALOG_TV: |
@@ -1135,9 +1144,8 @@ static int tuner_g_tuner(struct v4l2_subdev *sd, struct v4l2_tuner *vt) | |||
1135 | return 0; | 1144 | return 0; |
1136 | if (vt->type == t->mode && analog_ops->get_afc) | 1145 | if (vt->type == t->mode && analog_ops->get_afc) |
1137 | vt->afc = analog_ops->get_afc(&t->fe); | 1146 | vt->afc = analog_ops->get_afc(&t->fe); |
1138 | if (vt->type == V4L2_TUNER_ANALOG_TV) | 1147 | if (t->mode != V4L2_TUNER_RADIO) { |
1139 | vt->capability |= V4L2_TUNER_CAP_NORM; | 1148 | vt->capability |= V4L2_TUNER_CAP_NORM; |
1140 | if (vt->type != V4L2_TUNER_RADIO) { | ||
1141 | vt->rangelow = tv_range[0] * 16; | 1149 | vt->rangelow = tv_range[0] * 16; |
1142 | vt->rangehigh = tv_range[1] * 16; | 1150 | vt->rangehigh = tv_range[1] * 16; |
1143 | return 0; | 1151 | return 0; |
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index 9536d386bb38..21d816e9dfa5 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig | |||
@@ -599,8 +599,7 @@ config IT87_WDT | |||
599 | 599 | ||
600 | config HP_WATCHDOG | 600 | config HP_WATCHDOG |
601 | tristate "HP ProLiant iLO2+ Hardware Watchdog Timer" | 601 | tristate "HP ProLiant iLO2+ Hardware Watchdog Timer" |
602 | depends on X86 | 602 | depends on X86 && PCI |
603 | default m | ||
604 | help | 603 | help |
605 | A software monitoring watchdog and NMI sourcing driver. This driver | 604 | A software monitoring watchdog and NMI sourcing driver. This driver |
606 | will detect lockups and provide a stack trace. This is a driver that | 605 | will detect lockups and provide a stack trace. This is a driver that |