diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ata/Kconfig | 2 | ||||
-rw-r--r-- | drivers/char/hw_random/Kconfig | 2 | ||||
-rw-r--r-- | drivers/edac/Kconfig | 6 | ||||
-rw-r--r-- | drivers/i2c/busses/Kconfig | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/octeon/Kconfig | 2 | ||||
-rw-r--r-- | drivers/net/phy/Kconfig | 2 | ||||
-rw-r--r-- | drivers/rapidio/switches/idt_gen2.c | 2 | ||||
-rw-r--r-- | drivers/spi/Kconfig | 2 | ||||
-rw-r--r-- | drivers/ssb/Kconfig | 2 | ||||
-rw-r--r-- | drivers/staging/octeon/Kconfig | 2 | ||||
-rw-r--r-- | drivers/tty/serial/8250/8250_dw.c | 108 | ||||
-rw-r--r-- | drivers/usb/host/Kconfig | 4 | ||||
-rw-r--r-- | drivers/watchdog/Kconfig | 2 | ||||
-rw-r--r-- | drivers/watchdog/sb_wdog.c | 2 |
14 files changed, 86 insertions, 54 deletions
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index aba6e93b0502..80dc988f01e4 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig | |||
@@ -160,7 +160,7 @@ config PDC_ADMA | |||
160 | 160 | ||
161 | config PATA_OCTEON_CF | 161 | config PATA_OCTEON_CF |
162 | tristate "OCTEON Boot Bus Compact Flash support" | 162 | tristate "OCTEON Boot Bus Compact Flash support" |
163 | depends on CPU_CAVIUM_OCTEON | 163 | depends on CAVIUM_OCTEON_SOC |
164 | help | 164 | help |
165 | This option enables a polled compact flash driver for use with | 165 | This option enables a polled compact flash driver for use with |
166 | compact flash cards attached to the OCTEON boot bus. | 166 | compact flash cards attached to the OCTEON boot bus. |
diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig index 2f9dbf7568fb..40a865449f35 100644 --- a/drivers/char/hw_random/Kconfig +++ b/drivers/char/hw_random/Kconfig | |||
@@ -167,7 +167,7 @@ config HW_RANDOM_OMAP | |||
167 | 167 | ||
168 | config HW_RANDOM_OCTEON | 168 | config HW_RANDOM_OCTEON |
169 | tristate "Octeon Random Number Generator support" | 169 | tristate "Octeon Random Number Generator support" |
170 | depends on HW_RANDOM && CPU_CAVIUM_OCTEON | 170 | depends on HW_RANDOM && CAVIUM_OCTEON_SOC |
171 | default HW_RANDOM | 171 | default HW_RANDOM |
172 | ---help--- | 172 | ---help--- |
173 | This driver provides kernel-side support for the Random Number | 173 | This driver provides kernel-side support for the Random Number |
diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig index a697a64d5383..878f09005fad 100644 --- a/drivers/edac/Kconfig +++ b/drivers/edac/Kconfig | |||
@@ -349,21 +349,21 @@ config EDAC_OCTEON_PC | |||
349 | 349 | ||
350 | config EDAC_OCTEON_L2C | 350 | config EDAC_OCTEON_L2C |
351 | tristate "Cavium Octeon Secondary Caches (L2C)" | 351 | tristate "Cavium Octeon Secondary Caches (L2C)" |
352 | depends on EDAC_MM_EDAC && CPU_CAVIUM_OCTEON | 352 | depends on EDAC_MM_EDAC && CAVIUM_OCTEON_SOC |
353 | help | 353 | help |
354 | Support for error detection and correction on the | 354 | Support for error detection and correction on the |
355 | Cavium Octeon family of SOCs. | 355 | Cavium Octeon family of SOCs. |
356 | 356 | ||
357 | config EDAC_OCTEON_LMC | 357 | config EDAC_OCTEON_LMC |
358 | tristate "Cavium Octeon DRAM Memory Controller (LMC)" | 358 | tristate "Cavium Octeon DRAM Memory Controller (LMC)" |
359 | depends on EDAC_MM_EDAC && CPU_CAVIUM_OCTEON | 359 | depends on EDAC_MM_EDAC && CAVIUM_OCTEON_SOC |
360 | help | 360 | help |
361 | Support for error detection and correction on the | 361 | Support for error detection and correction on the |
362 | Cavium Octeon family of SOCs. | 362 | Cavium Octeon family of SOCs. |
363 | 363 | ||
364 | config EDAC_OCTEON_PCI | 364 | config EDAC_OCTEON_PCI |
365 | tristate "Cavium Octeon PCI Controller" | 365 | tristate "Cavium Octeon PCI Controller" |
366 | depends on EDAC_MM_EDAC && PCI && CPU_CAVIUM_OCTEON | 366 | depends on EDAC_MM_EDAC && PCI && CAVIUM_OCTEON_SOC |
367 | help | 367 | help |
368 | Support for error detection and correction on the | 368 | Support for error detection and correction on the |
369 | Cavium Octeon family of SOCs. | 369 | Cavium Octeon family of SOCs. |
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index fdc2ab4af315..dc6dea614abd 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig | |||
@@ -739,7 +739,7 @@ config I2C_WMT | |||
739 | 739 | ||
740 | config I2C_OCTEON | 740 | config I2C_OCTEON |
741 | tristate "Cavium OCTEON I2C bus support" | 741 | tristate "Cavium OCTEON I2C bus support" |
742 | depends on CPU_CAVIUM_OCTEON | 742 | depends on CAVIUM_OCTEON_SOC |
743 | help | 743 | help |
744 | Say yes if you want to support the I2C serial bus on Cavium | 744 | Say yes if you want to support the I2C serial bus on Cavium |
745 | OCTEON SOC. | 745 | OCTEON SOC. |
diff --git a/drivers/net/ethernet/octeon/Kconfig b/drivers/net/ethernet/octeon/Kconfig index 3de52ffd2872..a7aa28054cc1 100644 --- a/drivers/net/ethernet/octeon/Kconfig +++ b/drivers/net/ethernet/octeon/Kconfig | |||
@@ -4,7 +4,7 @@ | |||
4 | 4 | ||
5 | config OCTEON_MGMT_ETHERNET | 5 | config OCTEON_MGMT_ETHERNET |
6 | tristate "Octeon Management port ethernet driver (CN5XXX, CN6XXX)" | 6 | tristate "Octeon Management port ethernet driver (CN5XXX, CN6XXX)" |
7 | depends on CPU_CAVIUM_OCTEON | 7 | depends on CAVIUM_OCTEON_SOC |
8 | select PHYLIB | 8 | select PHYLIB |
9 | select MDIO_OCTEON | 9 | select MDIO_OCTEON |
10 | default y | 10 | default y |
diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig index 3a316b30089f..342561ad3158 100644 --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig | |||
@@ -135,7 +135,7 @@ config MDIO_GPIO | |||
135 | 135 | ||
136 | config MDIO_OCTEON | 136 | config MDIO_OCTEON |
137 | tristate "Support for MDIO buses on Octeon SOCs" | 137 | tristate "Support for MDIO buses on Octeon SOCs" |
138 | depends on CPU_CAVIUM_OCTEON | 138 | depends on CAVIUM_OCTEON_SOC |
139 | default y | 139 | default y |
140 | help | 140 | help |
141 | 141 | ||
diff --git a/drivers/rapidio/switches/idt_gen2.c b/drivers/rapidio/switches/idt_gen2.c index 00a71ebb5cac..9f7fe21580bb 100644 --- a/drivers/rapidio/switches/idt_gen2.c +++ b/drivers/rapidio/switches/idt_gen2.c | |||
@@ -16,6 +16,8 @@ | |||
16 | #include <linux/rio_drv.h> | 16 | #include <linux/rio_drv.h> |
17 | #include <linux/rio_ids.h> | 17 | #include <linux/rio_ids.h> |
18 | #include <linux/delay.h> | 18 | #include <linux/delay.h> |
19 | |||
20 | #include <asm/page.h> | ||
19 | #include "../rio.h" | 21 | #include "../rio.h" |
20 | 22 | ||
21 | #define LOCAL_RTE_CONF_DESTID_SEL 0x010070 | 23 | #define LOCAL_RTE_CONF_DESTID_SEL 0x010070 |
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig index 10f99f45a29b..89cbbabaff44 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig | |||
@@ -266,7 +266,7 @@ config SPI_OC_TINY | |||
266 | 266 | ||
267 | config SPI_OCTEON | 267 | config SPI_OCTEON |
268 | tristate "Cavium OCTEON SPI controller" | 268 | tristate "Cavium OCTEON SPI controller" |
269 | depends on CPU_CAVIUM_OCTEON | 269 | depends on CAVIUM_OCTEON_SOC |
270 | help | 270 | help |
271 | SPI host driver for the hardware found on some Cavium OCTEON | 271 | SPI host driver for the hardware found on some Cavium OCTEON |
272 | SOCs. | 272 | SOCs. |
diff --git a/drivers/ssb/Kconfig b/drivers/ssb/Kconfig index 5ff3a4f19443..36171fd2826b 100644 --- a/drivers/ssb/Kconfig +++ b/drivers/ssb/Kconfig | |||
@@ -144,7 +144,7 @@ config SSB_SFLASH | |||
144 | # Assumption: We are on embedded, if we compile the MIPS core. | 144 | # Assumption: We are on embedded, if we compile the MIPS core. |
145 | config SSB_EMBEDDED | 145 | config SSB_EMBEDDED |
146 | bool | 146 | bool |
147 | depends on SSB_DRIVER_MIPS | 147 | depends on SSB_DRIVER_MIPS && SSB_PCICORE_HOSTMODE |
148 | default y | 148 | default y |
149 | 149 | ||
150 | config SSB_DRIVER_EXTIF | 150 | config SSB_DRIVER_EXTIF |
diff --git a/drivers/staging/octeon/Kconfig b/drivers/staging/octeon/Kconfig index 9493128e5fd2..6e1d5f8d3ec1 100644 --- a/drivers/staging/octeon/Kconfig +++ b/drivers/staging/octeon/Kconfig | |||
@@ -1,6 +1,6 @@ | |||
1 | config OCTEON_ETHERNET | 1 | config OCTEON_ETHERNET |
2 | tristate "Cavium Networks Octeon Ethernet support" | 2 | tristate "Cavium Networks Octeon Ethernet support" |
3 | depends on CPU_CAVIUM_OCTEON && NETDEVICES | 3 | depends on CAVIUM_OCTEON_SOC && NETDEVICES |
4 | select PHYLIB | 4 | select PHYLIB |
5 | select MDIO_OCTEON | 5 | select MDIO_OCTEON |
6 | help | 6 | help |
diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c index d07b6af3a937..76a8daadff47 100644 --- a/drivers/tty/serial/8250/8250_dw.c +++ b/drivers/tty/serial/8250/8250_dw.c | |||
@@ -29,6 +29,8 @@ | |||
29 | #include <linux/clk.h> | 29 | #include <linux/clk.h> |
30 | #include <linux/pm_runtime.h> | 30 | #include <linux/pm_runtime.h> |
31 | 31 | ||
32 | #include <asm/byteorder.h> | ||
33 | |||
32 | #include "8250.h" | 34 | #include "8250.h" |
33 | 35 | ||
34 | /* Offsets for the DesignWare specific registers */ | 36 | /* Offsets for the DesignWare specific registers */ |
@@ -57,6 +59,7 @@ struct dw8250_data { | |||
57 | int last_lcr; | 59 | int last_lcr; |
58 | int line; | 60 | int line; |
59 | struct clk *clk; | 61 | struct clk *clk; |
62 | u8 usr_reg; | ||
60 | }; | 63 | }; |
61 | 64 | ||
62 | static void dw8250_serial_out(struct uart_port *p, int offset, int value) | 65 | static void dw8250_serial_out(struct uart_port *p, int offset, int value) |
@@ -77,6 +80,13 @@ static unsigned int dw8250_serial_in(struct uart_port *p, int offset) | |||
77 | return readb(p->membase + offset); | 80 | return readb(p->membase + offset); |
78 | } | 81 | } |
79 | 82 | ||
83 | /* Read Back (rb) version to ensure register access ording. */ | ||
84 | static void dw8250_serial_out_rb(struct uart_port *p, int offset, int value) | ||
85 | { | ||
86 | dw8250_serial_out(p, offset, value); | ||
87 | dw8250_serial_in(p, UART_LCR); | ||
88 | } | ||
89 | |||
80 | static void dw8250_serial_out32(struct uart_port *p, int offset, int value) | 90 | static void dw8250_serial_out32(struct uart_port *p, int offset, int value) |
81 | { | 91 | { |
82 | struct dw8250_data *d = p->private_data; | 92 | struct dw8250_data *d = p->private_data; |
@@ -104,7 +114,7 @@ static int dw8250_handle_irq(struct uart_port *p) | |||
104 | return 1; | 114 | return 1; |
105 | } else if ((iir & UART_IIR_BUSY) == UART_IIR_BUSY) { | 115 | } else if ((iir & UART_IIR_BUSY) == UART_IIR_BUSY) { |
106 | /* Clear the USR and write the LCR again. */ | 116 | /* Clear the USR and write the LCR again. */ |
107 | (void)p->serial_in(p, DW_UART_USR); | 117 | (void)p->serial_in(p, d->usr_reg); |
108 | p->serial_out(p, UART_LCR, d->last_lcr); | 118 | p->serial_out(p, UART_LCR, d->last_lcr); |
109 | 119 | ||
110 | return 1; | 120 | return 1; |
@@ -125,12 +135,60 @@ dw8250_do_pm(struct uart_port *port, unsigned int state, unsigned int old) | |||
125 | pm_runtime_put_sync_suspend(port->dev); | 135 | pm_runtime_put_sync_suspend(port->dev); |
126 | } | 136 | } |
127 | 137 | ||
128 | static int dw8250_probe_of(struct uart_port *p) | 138 | static void dw8250_setup_port(struct uart_8250_port *up) |
139 | { | ||
140 | struct uart_port *p = &up->port; | ||
141 | u32 reg = readl(p->membase + DW_UART_UCV); | ||
142 | |||
143 | /* | ||
144 | * If the Component Version Register returns zero, we know that | ||
145 | * ADDITIONAL_FEATURES are not enabled. No need to go any further. | ||
146 | */ | ||
147 | if (!reg) | ||
148 | return; | ||
149 | |||
150 | dev_dbg_ratelimited(p->dev, "Designware UART version %c.%c%c\n", | ||
151 | (reg >> 24) & 0xff, (reg >> 16) & 0xff, (reg >> 8) & 0xff); | ||
152 | |||
153 | reg = readl(p->membase + DW_UART_CPR); | ||
154 | if (!reg) | ||
155 | return; | ||
156 | |||
157 | /* Select the type based on fifo */ | ||
158 | if (reg & DW_UART_CPR_FIFO_MODE) { | ||
159 | p->type = PORT_16550A; | ||
160 | p->flags |= UPF_FIXED_TYPE; | ||
161 | p->fifosize = DW_UART_CPR_FIFO_SIZE(reg); | ||
162 | up->tx_loadsz = p->fifosize; | ||
163 | up->capabilities = UART_CAP_FIFO; | ||
164 | } | ||
165 | |||
166 | if (reg & DW_UART_CPR_AFCE_MODE) | ||
167 | up->capabilities |= UART_CAP_AFE; | ||
168 | } | ||
169 | |||
170 | static int dw8250_probe_of(struct uart_port *p, | ||
171 | struct dw8250_data *data) | ||
129 | { | 172 | { |
130 | struct device_node *np = p->dev->of_node; | 173 | struct device_node *np = p->dev->of_node; |
131 | u32 val; | 174 | u32 val; |
132 | 175 | bool has_ucv = true; | |
133 | if (!of_property_read_u32(np, "reg-io-width", &val)) { | 176 | |
177 | if (of_device_is_compatible(np, "cavium,octeon-3860-uart")) { | ||
178 | #ifdef __BIG_ENDIAN | ||
179 | /* | ||
180 | * Low order bits of these 64-bit registers, when | ||
181 | * accessed as a byte, are 7 bytes further down in the | ||
182 | * address space in big endian mode. | ||
183 | */ | ||
184 | p->membase += 7; | ||
185 | #endif | ||
186 | p->serial_out = dw8250_serial_out_rb; | ||
187 | p->flags = ASYNC_SKIP_TEST | UPF_SHARE_IRQ | UPF_FIXED_TYPE; | ||
188 | p->type = PORT_OCTEON; | ||
189 | data->usr_reg = 0x27; | ||
190 | has_ucv = false; | ||
191 | } else if (!of_property_read_u32(np, "reg-io-width", &val)) { | ||
134 | switch (val) { | 192 | switch (val) { |
135 | case 1: | 193 | case 1: |
136 | break; | 194 | break; |
@@ -144,6 +202,8 @@ static int dw8250_probe_of(struct uart_port *p) | |||
144 | return -EINVAL; | 202 | return -EINVAL; |
145 | } | 203 | } |
146 | } | 204 | } |
205 | if (has_ucv) | ||
206 | dw8250_setup_port(container_of(p, struct uart_8250_port, port)); | ||
147 | 207 | ||
148 | if (!of_property_read_u32(np, "reg-shift", &val)) | 208 | if (!of_property_read_u32(np, "reg-shift", &val)) |
149 | p->regshift = val; | 209 | p->regshift = val; |
@@ -168,6 +228,8 @@ static int dw8250_probe_acpi(struct uart_8250_port *up) | |||
168 | const struct acpi_device_id *id; | 228 | const struct acpi_device_id *id; |
169 | struct uart_port *p = &up->port; | 229 | struct uart_port *p = &up->port; |
170 | 230 | ||
231 | dw8250_setup_port(up); | ||
232 | |||
171 | id = acpi_match_device(p->dev->driver->acpi_match_table, p->dev); | 233 | id = acpi_match_device(p->dev->driver->acpi_match_table, p->dev); |
172 | if (!id) | 234 | if (!id) |
173 | return -ENODEV; | 235 | return -ENODEV; |
@@ -196,38 +258,6 @@ static inline int dw8250_probe_acpi(struct uart_8250_port *up) | |||
196 | } | 258 | } |
197 | #endif /* CONFIG_ACPI */ | 259 | #endif /* CONFIG_ACPI */ |
198 | 260 | ||
199 | static void dw8250_setup_port(struct uart_8250_port *up) | ||
200 | { | ||
201 | struct uart_port *p = &up->port; | ||
202 | u32 reg = readl(p->membase + DW_UART_UCV); | ||
203 | |||
204 | /* | ||
205 | * If the Component Version Register returns zero, we know that | ||
206 | * ADDITIONAL_FEATURES are not enabled. No need to go any further. | ||
207 | */ | ||
208 | if (!reg) | ||
209 | return; | ||
210 | |||
211 | dev_dbg_ratelimited(p->dev, "Designware UART version %c.%c%c\n", | ||
212 | (reg >> 24) & 0xff, (reg >> 16) & 0xff, (reg >> 8) & 0xff); | ||
213 | |||
214 | reg = readl(p->membase + DW_UART_CPR); | ||
215 | if (!reg) | ||
216 | return; | ||
217 | |||
218 | /* Select the type based on fifo */ | ||
219 | if (reg & DW_UART_CPR_FIFO_MODE) { | ||
220 | p->type = PORT_16550A; | ||
221 | p->flags |= UPF_FIXED_TYPE; | ||
222 | p->fifosize = DW_UART_CPR_FIFO_SIZE(reg); | ||
223 | up->tx_loadsz = p->fifosize; | ||
224 | up->capabilities = UART_CAP_FIFO; | ||
225 | } | ||
226 | |||
227 | if (reg & DW_UART_CPR_AFCE_MODE) | ||
228 | up->capabilities |= UART_CAP_AFE; | ||
229 | } | ||
230 | |||
231 | static int dw8250_probe(struct platform_device *pdev) | 261 | static int dw8250_probe(struct platform_device *pdev) |
232 | { | 262 | { |
233 | struct uart_8250_port uart = {}; | 263 | struct uart_8250_port uart = {}; |
@@ -259,6 +289,7 @@ static int dw8250_probe(struct platform_device *pdev) | |||
259 | if (!data) | 289 | if (!data) |
260 | return -ENOMEM; | 290 | return -ENOMEM; |
261 | 291 | ||
292 | data->usr_reg = DW_UART_USR; | ||
262 | data->clk = devm_clk_get(&pdev->dev, NULL); | 293 | data->clk = devm_clk_get(&pdev->dev, NULL); |
263 | if (!IS_ERR(data->clk)) { | 294 | if (!IS_ERR(data->clk)) { |
264 | clk_prepare_enable(data->clk); | 295 | clk_prepare_enable(data->clk); |
@@ -270,10 +301,8 @@ static int dw8250_probe(struct platform_device *pdev) | |||
270 | uart.port.serial_out = dw8250_serial_out; | 301 | uart.port.serial_out = dw8250_serial_out; |
271 | uart.port.private_data = data; | 302 | uart.port.private_data = data; |
272 | 303 | ||
273 | dw8250_setup_port(&uart); | ||
274 | |||
275 | if (pdev->dev.of_node) { | 304 | if (pdev->dev.of_node) { |
276 | err = dw8250_probe_of(&uart.port); | 305 | err = dw8250_probe_of(&uart.port, data); |
277 | if (err) | 306 | if (err) |
278 | return err; | 307 | return err; |
279 | } else if (ACPI_HANDLE(&pdev->dev)) { | 308 | } else if (ACPI_HANDLE(&pdev->dev)) { |
@@ -362,6 +391,7 @@ static const struct dev_pm_ops dw8250_pm_ops = { | |||
362 | 391 | ||
363 | static const struct of_device_id dw8250_of_match[] = { | 392 | static const struct of_device_id dw8250_of_match[] = { |
364 | { .compatible = "snps,dw-apb-uart" }, | 393 | { .compatible = "snps,dw-apb-uart" }, |
394 | { .compatible = "cavium,octeon-3860-uart" }, | ||
365 | { /* Sentinel */ } | 395 | { /* Sentinel */ } |
366 | }; | 396 | }; |
367 | MODULE_DEVICE_TABLE(of, dw8250_of_match); | 397 | MODULE_DEVICE_TABLE(of, dw8250_of_match); |
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index 2817013bceb1..4263d011392c 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig | |||
@@ -283,7 +283,7 @@ config USB_EHCI_HCD_PLATFORM | |||
283 | 283 | ||
284 | config USB_OCTEON_EHCI | 284 | config USB_OCTEON_EHCI |
285 | bool "Octeon on-chip EHCI support" | 285 | bool "Octeon on-chip EHCI support" |
286 | depends on CPU_CAVIUM_OCTEON | 286 | depends on CAVIUM_OCTEON_SOC |
287 | default n | 287 | default n |
288 | select USB_EHCI_BIG_ENDIAN_MMIO | 288 | select USB_EHCI_BIG_ENDIAN_MMIO |
289 | help | 289 | help |
@@ -488,7 +488,7 @@ config USB_OHCI_HCD_PLATFORM | |||
488 | 488 | ||
489 | config USB_OCTEON_OHCI | 489 | config USB_OCTEON_OHCI |
490 | bool "Octeon on-chip OHCI support" | 490 | bool "Octeon on-chip OHCI support" |
491 | depends on CPU_CAVIUM_OCTEON | 491 | depends on CAVIUM_OCTEON_SOC |
492 | default USB_OCTEON_EHCI | 492 | default USB_OCTEON_EHCI |
493 | select USB_OHCI_BIG_ENDIAN_MMIO | 493 | select USB_OHCI_BIG_ENDIAN_MMIO |
494 | select USB_OHCI_LITTLE_ENDIAN | 494 | select USB_OHCI_LITTLE_ENDIAN |
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index 8519bc696a6f..362085d7ad8f 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig | |||
@@ -1074,7 +1074,7 @@ config TXX9_WDT | |||
1074 | 1074 | ||
1075 | config OCTEON_WDT | 1075 | config OCTEON_WDT |
1076 | tristate "Cavium OCTEON SOC family Watchdog Timer" | 1076 | tristate "Cavium OCTEON SOC family Watchdog Timer" |
1077 | depends on CPU_CAVIUM_OCTEON | 1077 | depends on CAVIUM_OCTEON_SOC |
1078 | default y | 1078 | default y |
1079 | select EXPORT_UASM if OCTEON_WDT = m | 1079 | select EXPORT_UASM if OCTEON_WDT = m |
1080 | help | 1080 | help |
diff --git a/drivers/watchdog/sb_wdog.c b/drivers/watchdog/sb_wdog.c index 25c7a3f9652d..ea5d84a1fdad 100644 --- a/drivers/watchdog/sb_wdog.c +++ b/drivers/watchdog/sb_wdog.c | |||
@@ -208,7 +208,7 @@ static long sbwdog_ioctl(struct file *file, unsigned int cmd, | |||
208 | * get the remaining count from the ... count register | 208 | * get the remaining count from the ... count register |
209 | * which is 1*8 before the config register | 209 | * which is 1*8 before the config register |
210 | */ | 210 | */ |
211 | ret = put_user(__raw_readq(user_dog - 8) / 1000000, p); | 211 | ret = put_user((u32)__raw_readq(user_dog - 8) / 1000000, p); |
212 | break; | 212 | break; |
213 | } | 213 | } |
214 | return ret; | 214 | return ret; |