diff options
Diffstat (limited to 'arch/arm/mach-s3c2412')
-rw-r--r-- | arch/arm/mach-s3c2412/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-s3c2412/clock.c | 36 | ||||
-rw-r--r-- | arch/arm/mach-s3c2412/mach-jive.c | 41 | ||||
-rw-r--r-- | arch/arm/mach-s3c2412/pm.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-s3c2412/s3c2412.c | 2 |
5 files changed, 23 insertions, 64 deletions
diff --git a/arch/arm/mach-s3c2412/Kconfig b/arch/arm/mach-s3c2412/Kconfig index e82ab4aa7ab..c2cf4e56998 100644 --- a/arch/arm/mach-s3c2412/Kconfig +++ b/arch/arm/mach-s3c2412/Kconfig | |||
@@ -15,7 +15,7 @@ config CPU_S3C2412 | |||
15 | 15 | ||
16 | config CPU_S3C2412_ONLY | 16 | config CPU_S3C2412_ONLY |
17 | bool | 17 | bool |
18 | depends on ARCH_S3C2410 && !CPU_S3C2400 && !CPU_S3C2410 && \ | 18 | depends on ARCH_S3C2410 && !CPU_S3C2410 && \ |
19 | !CPU_S3C2416 && !CPU_S3C2440 && !CPU_S3C2442 && \ | 19 | !CPU_S3C2416 && !CPU_S3C2440 && !CPU_S3C2442 && \ |
20 | !CPU_S3C2443 && CPU_S3C2412 | 20 | !CPU_S3C2443 && CPU_S3C2412 |
21 | default y if CPU_S3C2412 | 21 | default y if CPU_S3C2412 |
diff --git a/arch/arm/mach-s3c2412/clock.c b/arch/arm/mach-s3c2412/clock.c index 0c0505b025c..140711db6c8 100644 --- a/arch/arm/mach-s3c2412/clock.c +++ b/arch/arm/mach-s3c2412/clock.c | |||
@@ -95,12 +95,10 @@ static int s3c2412_upll_enable(struct clk *clk, int enable) | |||
95 | 95 | ||
96 | static struct clk clk_erefclk = { | 96 | static struct clk clk_erefclk = { |
97 | .name = "erefclk", | 97 | .name = "erefclk", |
98 | .id = -1, | ||
99 | }; | 98 | }; |
100 | 99 | ||
101 | static struct clk clk_urefclk = { | 100 | static struct clk clk_urefclk = { |
102 | .name = "urefclk", | 101 | .name = "urefclk", |
103 | .id = -1, | ||
104 | }; | 102 | }; |
105 | 103 | ||
106 | static int s3c2412_setparent_usysclk(struct clk *clk, struct clk *parent) | 104 | static int s3c2412_setparent_usysclk(struct clk *clk, struct clk *parent) |
@@ -122,7 +120,6 @@ static int s3c2412_setparent_usysclk(struct clk *clk, struct clk *parent) | |||
122 | 120 | ||
123 | static struct clk clk_usysclk = { | 121 | static struct clk clk_usysclk = { |
124 | .name = "usysclk", | 122 | .name = "usysclk", |
125 | .id = -1, | ||
126 | .parent = &clk_xtal, | 123 | .parent = &clk_xtal, |
127 | .ops = &(struct clk_ops) { | 124 | .ops = &(struct clk_ops) { |
128 | .set_parent = s3c2412_setparent_usysclk, | 125 | .set_parent = s3c2412_setparent_usysclk, |
@@ -132,13 +129,11 @@ static struct clk clk_usysclk = { | |||
132 | static struct clk clk_mrefclk = { | 129 | static struct clk clk_mrefclk = { |
133 | .name = "mrefclk", | 130 | .name = "mrefclk", |
134 | .parent = &clk_xtal, | 131 | .parent = &clk_xtal, |
135 | .id = -1, | ||
136 | }; | 132 | }; |
137 | 133 | ||
138 | static struct clk clk_mdivclk = { | 134 | static struct clk clk_mdivclk = { |
139 | .name = "mdivclk", | 135 | .name = "mdivclk", |
140 | .parent = &clk_xtal, | 136 | .parent = &clk_xtal, |
141 | .id = -1, | ||
142 | }; | 137 | }; |
143 | 138 | ||
144 | static int s3c2412_setparent_usbsrc(struct clk *clk, struct clk *parent) | 139 | static int s3c2412_setparent_usbsrc(struct clk *clk, struct clk *parent) |
@@ -200,7 +195,6 @@ static int s3c2412_setrate_usbsrc(struct clk *clk, unsigned long rate) | |||
200 | 195 | ||
201 | static struct clk clk_usbsrc = { | 196 | static struct clk clk_usbsrc = { |
202 | .name = "usbsrc", | 197 | .name = "usbsrc", |
203 | .id = -1, | ||
204 | .ops = &(struct clk_ops) { | 198 | .ops = &(struct clk_ops) { |
205 | .get_rate = s3c2412_getrate_usbsrc, | 199 | .get_rate = s3c2412_getrate_usbsrc, |
206 | .set_rate = s3c2412_setrate_usbsrc, | 200 | .set_rate = s3c2412_setrate_usbsrc, |
@@ -228,7 +222,6 @@ static int s3c2412_setparent_msysclk(struct clk *clk, struct clk *parent) | |||
228 | 222 | ||
229 | static struct clk clk_msysclk = { | 223 | static struct clk clk_msysclk = { |
230 | .name = "msysclk", | 224 | .name = "msysclk", |
231 | .id = -1, | ||
232 | .ops = &(struct clk_ops) { | 225 | .ops = &(struct clk_ops) { |
233 | .set_parent = s3c2412_setparent_msysclk, | 226 | .set_parent = s3c2412_setparent_msysclk, |
234 | }, | 227 | }, |
@@ -268,7 +261,6 @@ static int s3c2412_setparent_armclk(struct clk *clk, struct clk *parent) | |||
268 | 261 | ||
269 | static struct clk clk_armclk = { | 262 | static struct clk clk_armclk = { |
270 | .name = "armclk", | 263 | .name = "armclk", |
271 | .id = -1, | ||
272 | .parent = &clk_msysclk, | 264 | .parent = &clk_msysclk, |
273 | .ops = &(struct clk_ops) { | 265 | .ops = &(struct clk_ops) { |
274 | .set_parent = s3c2412_setparent_armclk, | 266 | .set_parent = s3c2412_setparent_armclk, |
@@ -344,7 +336,6 @@ static int s3c2412_setrate_uart(struct clk *clk, unsigned long rate) | |||
344 | 336 | ||
345 | static struct clk clk_uart = { | 337 | static struct clk clk_uart = { |
346 | .name = "uartclk", | 338 | .name = "uartclk", |
347 | .id = -1, | ||
348 | .ops = &(struct clk_ops) { | 339 | .ops = &(struct clk_ops) { |
349 | .get_rate = s3c2412_getrate_uart, | 340 | .get_rate = s3c2412_getrate_uart, |
350 | .set_rate = s3c2412_setrate_uart, | 341 | .set_rate = s3c2412_setrate_uart, |
@@ -397,7 +388,6 @@ static int s3c2412_setrate_i2s(struct clk *clk, unsigned long rate) | |||
397 | 388 | ||
398 | static struct clk clk_i2s = { | 389 | static struct clk clk_i2s = { |
399 | .name = "i2sclk", | 390 | .name = "i2sclk", |
400 | .id = -1, | ||
401 | .ops = &(struct clk_ops) { | 391 | .ops = &(struct clk_ops) { |
402 | .get_rate = s3c2412_getrate_i2s, | 392 | .get_rate = s3c2412_getrate_i2s, |
403 | .set_rate = s3c2412_setrate_i2s, | 393 | .set_rate = s3c2412_setrate_i2s, |
@@ -449,7 +439,6 @@ static int s3c2412_setrate_cam(struct clk *clk, unsigned long rate) | |||
449 | 439 | ||
450 | static struct clk clk_cam = { | 440 | static struct clk clk_cam = { |
451 | .name = "camif-upll", /* same as 2440 name */ | 441 | .name = "camif-upll", /* same as 2440 name */ |
452 | .id = -1, | ||
453 | .ops = &(struct clk_ops) { | 442 | .ops = &(struct clk_ops) { |
454 | .get_rate = s3c2412_getrate_cam, | 443 | .get_rate = s3c2412_getrate_cam, |
455 | .set_rate = s3c2412_setrate_cam, | 444 | .set_rate = s3c2412_setrate_cam, |
@@ -463,37 +452,31 @@ static struct clk clk_cam = { | |||
463 | static struct clk init_clocks_disable[] = { | 452 | static struct clk init_clocks_disable[] = { |
464 | { | 453 | { |
465 | .name = "nand", | 454 | .name = "nand", |
466 | .id = -1, | ||
467 | .parent = &clk_h, | 455 | .parent = &clk_h, |
468 | .enable = s3c2412_clkcon_enable, | 456 | .enable = s3c2412_clkcon_enable, |
469 | .ctrlbit = S3C2412_CLKCON_NAND, | 457 | .ctrlbit = S3C2412_CLKCON_NAND, |
470 | }, { | 458 | }, { |
471 | .name = "sdi", | 459 | .name = "sdi", |
472 | .id = -1, | ||
473 | .parent = &clk_p, | 460 | .parent = &clk_p, |
474 | .enable = s3c2412_clkcon_enable, | 461 | .enable = s3c2412_clkcon_enable, |
475 | .ctrlbit = S3C2412_CLKCON_SDI, | 462 | .ctrlbit = S3C2412_CLKCON_SDI, |
476 | }, { | 463 | }, { |
477 | .name = "adc", | 464 | .name = "adc", |
478 | .id = -1, | ||
479 | .parent = &clk_p, | 465 | .parent = &clk_p, |
480 | .enable = s3c2412_clkcon_enable, | 466 | .enable = s3c2412_clkcon_enable, |
481 | .ctrlbit = S3C2412_CLKCON_ADC, | 467 | .ctrlbit = S3C2412_CLKCON_ADC, |
482 | }, { | 468 | }, { |
483 | .name = "i2c", | 469 | .name = "i2c", |
484 | .id = -1, | ||
485 | .parent = &clk_p, | 470 | .parent = &clk_p, |
486 | .enable = s3c2412_clkcon_enable, | 471 | .enable = s3c2412_clkcon_enable, |
487 | .ctrlbit = S3C2412_CLKCON_IIC, | 472 | .ctrlbit = S3C2412_CLKCON_IIC, |
488 | }, { | 473 | }, { |
489 | .name = "iis", | 474 | .name = "iis", |
490 | .id = -1, | ||
491 | .parent = &clk_p, | 475 | .parent = &clk_p, |
492 | .enable = s3c2412_clkcon_enable, | 476 | .enable = s3c2412_clkcon_enable, |
493 | .ctrlbit = S3C2412_CLKCON_IIS, | 477 | .ctrlbit = S3C2412_CLKCON_IIS, |
494 | }, { | 478 | }, { |
495 | .name = "spi", | 479 | .name = "spi", |
496 | .id = -1, | ||
497 | .parent = &clk_p, | 480 | .parent = &clk_p, |
498 | .enable = s3c2412_clkcon_enable, | 481 | .enable = s3c2412_clkcon_enable, |
499 | .ctrlbit = S3C2412_CLKCON_SPI, | 482 | .ctrlbit = S3C2412_CLKCON_SPI, |
@@ -503,96 +486,83 @@ static struct clk init_clocks_disable[] = { | |||
503 | static struct clk init_clocks[] = { | 486 | static struct clk init_clocks[] = { |
504 | { | 487 | { |
505 | .name = "dma", | 488 | .name = "dma", |
506 | .id = 0, | ||
507 | .parent = &clk_h, | 489 | .parent = &clk_h, |
508 | .enable = s3c2412_clkcon_enable, | 490 | .enable = s3c2412_clkcon_enable, |
509 | .ctrlbit = S3C2412_CLKCON_DMA0, | 491 | .ctrlbit = S3C2412_CLKCON_DMA0, |
510 | }, { | 492 | }, { |
511 | .name = "dma", | 493 | .name = "dma", |
512 | .id = 1, | ||
513 | .parent = &clk_h, | 494 | .parent = &clk_h, |
514 | .enable = s3c2412_clkcon_enable, | 495 | .enable = s3c2412_clkcon_enable, |
515 | .ctrlbit = S3C2412_CLKCON_DMA1, | 496 | .ctrlbit = S3C2412_CLKCON_DMA1, |
516 | }, { | 497 | }, { |
517 | .name = "dma", | 498 | .name = "dma", |
518 | .id = 2, | ||
519 | .parent = &clk_h, | 499 | .parent = &clk_h, |
520 | .enable = s3c2412_clkcon_enable, | 500 | .enable = s3c2412_clkcon_enable, |
521 | .ctrlbit = S3C2412_CLKCON_DMA2, | 501 | .ctrlbit = S3C2412_CLKCON_DMA2, |
522 | }, { | 502 | }, { |
523 | .name = "dma", | 503 | .name = "dma", |
524 | .id = 3, | ||
525 | .parent = &clk_h, | 504 | .parent = &clk_h, |
526 | .enable = s3c2412_clkcon_enable, | 505 | .enable = s3c2412_clkcon_enable, |
527 | .ctrlbit = S3C2412_CLKCON_DMA3, | 506 | .ctrlbit = S3C2412_CLKCON_DMA3, |
528 | }, { | 507 | }, { |
529 | .name = "lcd", | 508 | .name = "lcd", |
530 | .id = -1, | ||
531 | .parent = &clk_h, | 509 | .parent = &clk_h, |
532 | .enable = s3c2412_clkcon_enable, | 510 | .enable = s3c2412_clkcon_enable, |
533 | .ctrlbit = S3C2412_CLKCON_LCDC, | 511 | .ctrlbit = S3C2412_CLKCON_LCDC, |
534 | }, { | 512 | }, { |
535 | .name = "gpio", | 513 | .name = "gpio", |
536 | .id = -1, | ||
537 | .parent = &clk_p, | 514 | .parent = &clk_p, |
538 | .enable = s3c2412_clkcon_enable, | 515 | .enable = s3c2412_clkcon_enable, |
539 | .ctrlbit = S3C2412_CLKCON_GPIO, | 516 | .ctrlbit = S3C2412_CLKCON_GPIO, |
540 | }, { | 517 | }, { |
541 | .name = "usb-host", | 518 | .name = "usb-host", |
542 | .id = -1, | ||
543 | .parent = &clk_h, | 519 | .parent = &clk_h, |
544 | .enable = s3c2412_clkcon_enable, | 520 | .enable = s3c2412_clkcon_enable, |
545 | .ctrlbit = S3C2412_CLKCON_USBH, | 521 | .ctrlbit = S3C2412_CLKCON_USBH, |
546 | }, { | 522 | }, { |
547 | .name = "usb-device", | 523 | .name = "usb-device", |
548 | .id = -1, | ||
549 | .parent = &clk_h, | 524 | .parent = &clk_h, |
550 | .enable = s3c2412_clkcon_enable, | 525 | .enable = s3c2412_clkcon_enable, |
551 | .ctrlbit = S3C2412_CLKCON_USBD, | 526 | .ctrlbit = S3C2412_CLKCON_USBD, |
552 | }, { | 527 | }, { |
553 | .name = "timers", | 528 | .name = "timers", |
554 | .id = -1, | ||
555 | .parent = &clk_p, | 529 | .parent = &clk_p, |
556 | .enable = s3c2412_clkcon_enable, | 530 | .enable = s3c2412_clkcon_enable, |
557 | .ctrlbit = S3C2412_CLKCON_PWMT, | 531 | .ctrlbit = S3C2412_CLKCON_PWMT, |
558 | }, { | 532 | }, { |
559 | .name = "uart", | 533 | .name = "uart", |
560 | .id = 0, | 534 | .devname = "s3c2412-uart.0", |
561 | .parent = &clk_p, | 535 | .parent = &clk_p, |
562 | .enable = s3c2412_clkcon_enable, | 536 | .enable = s3c2412_clkcon_enable, |
563 | .ctrlbit = S3C2412_CLKCON_UART0, | 537 | .ctrlbit = S3C2412_CLKCON_UART0, |
564 | }, { | 538 | }, { |
565 | .name = "uart", | 539 | .name = "uart", |
566 | .id = 1, | 540 | .devname = "s3c2412-uart.1", |
567 | .parent = &clk_p, | 541 | .parent = &clk_p, |
568 | .enable = s3c2412_clkcon_enable, | 542 | .enable = s3c2412_clkcon_enable, |
569 | .ctrlbit = S3C2412_CLKCON_UART1, | 543 | .ctrlbit = S3C2412_CLKCON_UART1, |
570 | }, { | 544 | }, { |
571 | .name = "uart", | 545 | .name = "uart", |
572 | .id = 2, | 546 | .devname = "s3c2412-uart.2", |
573 | .parent = &clk_p, | 547 | .parent = &clk_p, |
574 | .enable = s3c2412_clkcon_enable, | 548 | .enable = s3c2412_clkcon_enable, |
575 | .ctrlbit = S3C2412_CLKCON_UART2, | 549 | .ctrlbit = S3C2412_CLKCON_UART2, |
576 | }, { | 550 | }, { |
577 | .name = "rtc", | 551 | .name = "rtc", |
578 | .id = -1, | ||
579 | .parent = &clk_p, | 552 | .parent = &clk_p, |
580 | .enable = s3c2412_clkcon_enable, | 553 | .enable = s3c2412_clkcon_enable, |
581 | .ctrlbit = S3C2412_CLKCON_RTC, | 554 | .ctrlbit = S3C2412_CLKCON_RTC, |
582 | }, { | 555 | }, { |
583 | .name = "watchdog", | 556 | .name = "watchdog", |
584 | .id = -1, | ||
585 | .parent = &clk_p, | 557 | .parent = &clk_p, |
586 | .ctrlbit = 0, | 558 | .ctrlbit = 0, |
587 | }, { | 559 | }, { |
588 | .name = "usb-bus-gadget", | 560 | .name = "usb-bus-gadget", |
589 | .id = -1, | ||
590 | .parent = &clk_usb_bus, | 561 | .parent = &clk_usb_bus, |
591 | .enable = s3c2412_clkcon_enable, | 562 | .enable = s3c2412_clkcon_enable, |
592 | .ctrlbit = S3C2412_CLKCON_USB_DEV48, | 563 | .ctrlbit = S3C2412_CLKCON_USB_DEV48, |
593 | }, { | 564 | }, { |
594 | .name = "usb-bus-host", | 565 | .name = "usb-bus-host", |
595 | .id = -1, | ||
596 | .parent = &clk_usb_bus, | 566 | .parent = &clk_usb_bus, |
597 | .enable = s3c2412_clkcon_enable, | 567 | .enable = s3c2412_clkcon_enable, |
598 | .ctrlbit = S3C2412_CLKCON_USB_HOST48, | 568 | .ctrlbit = S3C2412_CLKCON_USB_HOST48, |
diff --git a/arch/arm/mach-s3c2412/mach-jive.c b/arch/arm/mach-s3c2412/mach-jive.c index 85dcaeb9e62..5eeb47580b0 100644 --- a/arch/arm/mach-s3c2412/mach-jive.c +++ b/arch/arm/mach-s3c2412/mach-jive.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <video/ili9320.h> | 25 | #include <video/ili9320.h> |
26 | 26 | ||
27 | #include <linux/spi/spi.h> | 27 | #include <linux/spi/spi.h> |
28 | #include <linux/spi/spi_gpio.h> | ||
28 | 29 | ||
29 | #include <asm/mach/arch.h> | 30 | #include <asm/mach/arch.h> |
30 | #include <asm/mach/map.h> | 31 | #include <asm/mach/map.h> |
@@ -38,7 +39,6 @@ | |||
38 | #include <mach/regs-gpio.h> | 39 | #include <mach/regs-gpio.h> |
39 | #include <mach/regs-mem.h> | 40 | #include <mach/regs-mem.h> |
40 | #include <mach/regs-lcd.h> | 41 | #include <mach/regs-lcd.h> |
41 | #include <mach/spi-gpio.h> | ||
42 | #include <mach/fb.h> | 42 | #include <mach/fb.h> |
43 | 43 | ||
44 | #include <asm/mach-types.h> | 44 | #include <asm/mach-types.h> |
@@ -389,45 +389,30 @@ static struct ili9320_platdata jive_lcm_config = { | |||
389 | 389 | ||
390 | /* LCD SPI support */ | 390 | /* LCD SPI support */ |
391 | 391 | ||
392 | static void jive_lcd_spi_chipselect(struct s3c2410_spigpio_info *spi, int cs) | 392 | static struct spi_gpio_platform_data jive_lcd_spi = { |
393 | { | 393 | .sck = S3C2410_GPG(8), |
394 | gpio_set_value(S3C2410_GPB(7), cs ? 0 : 1); | 394 | .mosi = S3C2410_GPB(8), |
395 | } | 395 | .miso = SPI_GPIO_NO_MISO, |
396 | |||
397 | static struct s3c2410_spigpio_info jive_lcd_spi = { | ||
398 | .bus_num = 1, | ||
399 | .pin_clk = S3C2410_GPG(8), | ||
400 | .pin_mosi = S3C2410_GPB(8), | ||
401 | .num_chipselect = 1, | ||
402 | .chip_select = jive_lcd_spi_chipselect, | ||
403 | }; | 396 | }; |
404 | 397 | ||
405 | static struct platform_device jive_device_lcdspi = { | 398 | static struct platform_device jive_device_lcdspi = { |
406 | .name = "spi_s3c24xx_gpio", | 399 | .name = "spi-gpio", |
407 | .id = 1, | 400 | .id = 1, |
408 | .num_resources = 0, | ||
409 | .dev.platform_data = &jive_lcd_spi, | 401 | .dev.platform_data = &jive_lcd_spi, |
410 | }; | 402 | }; |
411 | 403 | ||
412 | /* WM8750 audio code SPI definition */ | ||
413 | 404 | ||
414 | static void jive_wm8750_chipselect(struct s3c2410_spigpio_info *spi, int cs) | 405 | /* WM8750 audio code SPI definition */ |
415 | { | ||
416 | gpio_set_value(S3C2410_GPH(10), cs ? 0 : 1); | ||
417 | } | ||
418 | 406 | ||
419 | static struct s3c2410_spigpio_info jive_wm8750_spi = { | 407 | static struct spi_gpio_platform_data jive_wm8750_spi = { |
420 | .bus_num = 2, | 408 | .sck = S3C2410_GPB(4), |
421 | .pin_clk = S3C2410_GPB(4), | 409 | .mosi = S3C2410_GPB(9), |
422 | .pin_mosi = S3C2410_GPB(9), | 410 | .miso = SPI_GPIO_NO_MISO, |
423 | .num_chipselect = 1, | ||
424 | .chip_select = jive_wm8750_chipselect, | ||
425 | }; | 411 | }; |
426 | 412 | ||
427 | static struct platform_device jive_device_wm8750 = { | 413 | static struct platform_device jive_device_wm8750 = { |
428 | .name = "spi_s3c24xx_gpio", | 414 | .name = "spi-gpio", |
429 | .id = 2, | 415 | .id = 2, |
430 | .num_resources = 0, | ||
431 | .dev.platform_data = &jive_wm8750_spi, | 416 | .dev.platform_data = &jive_wm8750_spi, |
432 | }; | 417 | }; |
433 | 418 | ||
@@ -441,12 +426,14 @@ static struct spi_board_info __initdata jive_spi_devs[] = { | |||
441 | .mode = SPI_MODE_3, /* CPOL=1, CPHA=1 */ | 426 | .mode = SPI_MODE_3, /* CPOL=1, CPHA=1 */ |
442 | .max_speed_hz = 100000, | 427 | .max_speed_hz = 100000, |
443 | .platform_data = &jive_lcm_config, | 428 | .platform_data = &jive_lcm_config, |
429 | .controller_data = (void *)S3C2410_GPB(7), | ||
444 | }, { | 430 | }, { |
445 | .modalias = "WM8750", | 431 | .modalias = "WM8750", |
446 | .bus_num = 2, | 432 | .bus_num = 2, |
447 | .chip_select = 0, | 433 | .chip_select = 0, |
448 | .mode = SPI_MODE_0, /* CPOL=0, CPHA=0 */ | 434 | .mode = SPI_MODE_0, /* CPOL=0, CPHA=0 */ |
449 | .max_speed_hz = 100000, | 435 | .max_speed_hz = 100000, |
436 | .controller_data = (void *)S3C2410_GPH(10), | ||
450 | }, | 437 | }, |
451 | }; | 438 | }; |
452 | 439 | ||
diff --git a/arch/arm/mach-s3c2412/pm.c b/arch/arm/mach-s3c2412/pm.c index 752b13a7b3d..f4077efa51f 100644 --- a/arch/arm/mach-s3c2412/pm.c +++ b/arch/arm/mach-s3c2412/pm.c | |||
@@ -37,12 +37,10 @@ | |||
37 | 37 | ||
38 | extern void s3c2412_sleep_enter(void); | 38 | extern void s3c2412_sleep_enter(void); |
39 | 39 | ||
40 | static void s3c2412_cpu_suspend(void) | 40 | static int s3c2412_cpu_suspend(unsigned long arg) |
41 | { | 41 | { |
42 | unsigned long tmp; | 42 | unsigned long tmp; |
43 | 43 | ||
44 | flush_cache_all(); | ||
45 | |||
46 | /* set our standby method to sleep */ | 44 | /* set our standby method to sleep */ |
47 | 45 | ||
48 | tmp = __raw_readl(S3C2412_PWRCFG); | 46 | tmp = __raw_readl(S3C2412_PWRCFG); |
@@ -50,6 +48,8 @@ static void s3c2412_cpu_suspend(void) | |||
50 | __raw_writel(tmp, S3C2412_PWRCFG); | 48 | __raw_writel(tmp, S3C2412_PWRCFG); |
51 | 49 | ||
52 | s3c2412_sleep_enter(); | 50 | s3c2412_sleep_enter(); |
51 | |||
52 | panic("sleep resumed to originator?"); | ||
53 | } | 53 | } |
54 | 54 | ||
55 | static void s3c2412_pm_prepare(void) | 55 | static void s3c2412_pm_prepare(void) |
diff --git a/arch/arm/mach-s3c2412/s3c2412.c b/arch/arm/mach-s3c2412/s3c2412.c index ef0958d3e5c..57a1e01e4e5 100644 --- a/arch/arm/mach-s3c2412/s3c2412.c +++ b/arch/arm/mach-s3c2412/s3c2412.c | |||
@@ -245,7 +245,9 @@ int __init s3c2412_init(void) | |||
245 | { | 245 | { |
246 | printk("S3C2412: Initialising architecture\n"); | 246 | printk("S3C2412: Initialising architecture\n"); |
247 | 247 | ||
248 | #ifdef CONFIG_PM | ||
248 | register_syscore_ops(&s3c2412_pm_syscore_ops); | 249 | register_syscore_ops(&s3c2412_pm_syscore_ops); |
250 | #endif | ||
249 | register_syscore_ops(&s3c24xx_irq_syscore_ops); | 251 | register_syscore_ops(&s3c24xx_irq_syscore_ops); |
250 | 252 | ||
251 | return sysdev_register(&s3c2412_sysdev); | 253 | return sysdev_register(&s3c2412_sysdev); |