Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: S3C24XX: Add clkdev support

Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>

authored by

Thomas Abraham and committed by
Kukjin Kim
e83626f2 f86c6660

+32 -120
+1
arch/arm/Kconfig
··· 682 682 select GENERIC_GPIO 683 683 select ARCH_HAS_CPUFREQ 684 684 select HAVE_CLK 685 + select CLKDEV_LOOKUP 685 686 select ARCH_USES_GETTIMEOFFSET 686 687 select HAVE_S3C2410_I2C if I2C 687 688 help
+3 -33
arch/arm/mach-s3c2412/clock.c
··· 95 95 96 96 static struct clk clk_erefclk = { 97 97 .name = "erefclk", 98 - .id = -1, 99 98 }; 100 99 101 100 static struct clk clk_urefclk = { 102 101 .name = "urefclk", 103 - .id = -1, 104 102 }; 105 103 106 104 static int s3c2412_setparent_usysclk(struct clk *clk, struct clk *parent) ··· 120 122 121 123 static struct clk clk_usysclk = { 122 124 .name = "usysclk", 123 - .id = -1, 124 125 .parent = &clk_xtal, 125 126 .ops = &(struct clk_ops) { 126 127 .set_parent = s3c2412_setparent_usysclk, ··· 129 132 static struct clk clk_mrefclk = { 130 133 .name = "mrefclk", 131 134 .parent = &clk_xtal, 132 - .id = -1, 133 135 }; 134 136 135 137 static struct clk clk_mdivclk = { 136 138 .name = "mdivclk", 137 139 .parent = &clk_xtal, 138 - .id = -1, 139 140 }; 140 141 141 142 static int s3c2412_setparent_usbsrc(struct clk *clk, struct clk *parent) ··· 195 200 196 201 static struct clk clk_usbsrc = { 197 202 .name = "usbsrc", 198 - .id = -1, 199 203 .ops = &(struct clk_ops) { 200 204 .get_rate = s3c2412_getrate_usbsrc, 201 205 .set_rate = s3c2412_setrate_usbsrc, ··· 222 228 223 229 static struct clk clk_msysclk = { 224 230 .name = "msysclk", 225 - .id = -1, 226 231 .ops = &(struct clk_ops) { 227 232 .set_parent = s3c2412_setparent_msysclk, 228 233 }, ··· 261 268 262 269 static struct clk clk_armclk = { 263 270 .name = "armclk", 264 - .id = -1, 265 271 .parent = &clk_msysclk, 266 272 .ops = &(struct clk_ops) { 267 273 .set_parent = s3c2412_setparent_armclk, ··· 336 344 337 345 static struct clk clk_uart = { 338 346 .name = "uartclk", 339 - .id = -1, 340 347 .ops = &(struct clk_ops) { 341 348 .get_rate = s3c2412_getrate_uart, 342 349 .set_rate = s3c2412_setrate_uart, ··· 388 397 389 398 static struct clk clk_i2s = { 390 399 .name = "i2sclk", 391 - .id = -1, 392 400 .ops = &(struct clk_ops) { 393 401 .get_rate = s3c2412_getrate_i2s, 394 402 .set_rate = s3c2412_setrate_i2s, ··· 439 449 440 450 static struct clk clk_cam = { 441 451 .name = "camif-upll", /* same as 2440 name */ 442 - .id = -1, 443 452 .ops = &(struct clk_ops) { 444 453 .get_rate = s3c2412_getrate_cam, 445 454 .set_rate = s3c2412_setrate_cam, ··· 452 463 static struct clk init_clocks_disable[] = { 453 464 { 454 465 .name = "nand", 455 - .id = -1, 456 466 .parent = &clk_h, 457 467 .enable = s3c2412_clkcon_enable, 458 468 .ctrlbit = S3C2412_CLKCON_NAND, 459 469 }, { 460 470 .name = "sdi", 461 - .id = -1, 462 471 .parent = &clk_p, 463 472 .enable = s3c2412_clkcon_enable, 464 473 .ctrlbit = S3C2412_CLKCON_SDI, 465 474 }, { 466 475 .name = "adc", 467 - .id = -1, 468 476 .parent = &clk_p, 469 477 .enable = s3c2412_clkcon_enable, 470 478 .ctrlbit = S3C2412_CLKCON_ADC, 471 479 }, { 472 480 .name = "i2c", 473 - .id = -1, 474 481 .parent = &clk_p, 475 482 .enable = s3c2412_clkcon_enable, 476 483 .ctrlbit = S3C2412_CLKCON_IIC, 477 484 }, { 478 485 .name = "iis", 479 - .id = -1, 480 486 .parent = &clk_p, 481 487 .enable = s3c2412_clkcon_enable, 482 488 .ctrlbit = S3C2412_CLKCON_IIS, 483 489 }, { 484 490 .name = "spi", 485 - .id = -1, 486 491 .parent = &clk_p, 487 492 .enable = s3c2412_clkcon_enable, 488 493 .ctrlbit = S3C2412_CLKCON_SPI, ··· 486 503 static struct clk init_clocks[] = { 487 504 { 488 505 .name = "dma", 489 - .id = 0, 490 506 .parent = &clk_h, 491 507 .enable = s3c2412_clkcon_enable, 492 508 .ctrlbit = S3C2412_CLKCON_DMA0, 493 509 }, { 494 510 .name = "dma", 495 - .id = 1, 496 511 .parent = &clk_h, 497 512 .enable = s3c2412_clkcon_enable, 498 513 .ctrlbit = S3C2412_CLKCON_DMA1, 499 514 }, { 500 515 .name = "dma", 501 - .id = 2, 502 516 .parent = &clk_h, 503 517 .enable = s3c2412_clkcon_enable, 504 518 .ctrlbit = S3C2412_CLKCON_DMA2, 505 519 }, { 506 520 .name = "dma", 507 - .id = 3, 508 521 .parent = &clk_h, 509 522 .enable = s3c2412_clkcon_enable, 510 523 .ctrlbit = S3C2412_CLKCON_DMA3, 511 524 }, { 512 525 .name = "lcd", 513 - .id = -1, 514 526 .parent = &clk_h, 515 527 .enable = s3c2412_clkcon_enable, 516 528 .ctrlbit = S3C2412_CLKCON_LCDC, 517 529 }, { 518 530 .name = "gpio", 519 - .id = -1, 520 531 .parent = &clk_p, 521 532 .enable = s3c2412_clkcon_enable, 522 533 .ctrlbit = S3C2412_CLKCON_GPIO, 523 534 }, { 524 535 .name = "usb-host", 525 - .id = -1, 526 536 .parent = &clk_h, 527 537 .enable = s3c2412_clkcon_enable, 528 538 .ctrlbit = S3C2412_CLKCON_USBH, 529 539 }, { 530 540 .name = "usb-device", 531 - .id = -1, 532 541 .parent = &clk_h, 533 542 .enable = s3c2412_clkcon_enable, 534 543 .ctrlbit = S3C2412_CLKCON_USBD, 535 544 }, { 536 545 .name = "timers", 537 - .id = -1, 538 546 .parent = &clk_p, 539 547 .enable = s3c2412_clkcon_enable, 540 548 .ctrlbit = S3C2412_CLKCON_PWMT, 541 549 }, { 542 550 .name = "uart", 543 - .id = 0, 551 + .devname = "s3c2412-uart.0", 544 552 .parent = &clk_p, 545 553 .enable = s3c2412_clkcon_enable, 546 554 .ctrlbit = S3C2412_CLKCON_UART0, 547 555 }, { 548 556 .name = "uart", 549 - .id = 1, 557 + .devname = "s3c2412-uart.1", 550 558 .parent = &clk_p, 551 559 .enable = s3c2412_clkcon_enable, 552 560 .ctrlbit = S3C2412_CLKCON_UART1, 553 561 }, { 554 562 .name = "uart", 555 - .id = 2, 563 + .devname = "s3c2412-uart.2", 556 564 .parent = &clk_p, 557 565 .enable = s3c2412_clkcon_enable, 558 566 .ctrlbit = S3C2412_CLKCON_UART2, 559 567 }, { 560 568 .name = "rtc", 561 - .id = -1, 562 569 .parent = &clk_p, 563 570 .enable = s3c2412_clkcon_enable, 564 571 .ctrlbit = S3C2412_CLKCON_RTC, 565 572 }, { 566 573 .name = "watchdog", 567 - .id = -1, 568 574 .parent = &clk_p, 569 575 .ctrlbit = 0, 570 576 }, { 571 577 .name = "usb-bus-gadget", 572 - .id = -1, 573 578 .parent = &clk_usb_bus, 574 579 .enable = s3c2412_clkcon_enable, 575 580 .ctrlbit = S3C2412_CLKCON_USB_DEV48, 576 581 }, { 577 582 .name = "usb-bus-host", 578 - .id = -1, 579 583 .parent = &clk_usb_bus, 580 584 .enable = s3c2412_clkcon_enable, 581 585 .ctrlbit = S3C2412_CLKCON_USB_HOST48,
+5 -5
arch/arm/mach-s3c2416/clock.c
··· 42 42 [0] = { 43 43 .clk = { 44 44 .name = "hsmmc-div", 45 - .id = 0, 45 + .devname = "s3c-sdhci.0", 46 46 .parent = &clk_esysclk.clk, 47 47 }, 48 48 .reg_div = { .reg = S3C2416_CLKDIV2, .size = 2, .shift = 6 }, ··· 50 50 [1] = { 51 51 .clk = { 52 52 .name = "hsmmc-div", 53 - .id = 1, 53 + .devname = "s3c-sdhci.1", 54 54 .parent = &clk_esysclk.clk, 55 55 }, 56 56 .reg_div = { .reg = S3C2443_CLKDIV1, .size = 2, .shift = 6 }, ··· 60 60 static struct clksrc_clk hsmmc_mux[] = { 61 61 [0] = { 62 62 .clk = { 63 - .id = 0, 64 63 .name = "hsmmc-if", 64 + .devname = "s3c-sdhci.0", 65 65 .ctrlbit = (1 << 6), 66 66 .enable = s3c2443_clkcon_enable_s, 67 67 }, ··· 76 76 }, 77 77 [1] = { 78 78 .clk = { 79 - .id = 1, 80 79 .name = "hsmmc-if", 80 + .devname = "s3c-sdhci.1", 81 81 .ctrlbit = (1 << 12), 82 82 .enable = s3c2443_clkcon_enable_s, 83 83 }, ··· 94 94 95 95 static struct clk hsmmc0_clk = { 96 96 .name = "hsmmc", 97 - .id = 0, 97 + .devname = "s3c-sdhci.0", 98 98 .parent = &clk_h, 99 99 .enable = s3c2443_clkcon_enable_h, 100 100 .ctrlbit = S3C2416_HCLKCON_HSMMC0,
-3
arch/arm/mach-s3c2440/clock.c
··· 90 90 91 91 static struct clk s3c2440_clk_cam = { 92 92 .name = "camif", 93 - .id = -1, 94 93 .enable = s3c2410_clkcon_enable, 95 94 .ctrlbit = S3C2440_CLKCON_CAMERA, 96 95 }; 97 96 98 97 static struct clk s3c2440_clk_cam_upll = { 99 98 .name = "camif-upll", 100 - .id = -1, 101 99 .ops = &(struct clk_ops) { 102 100 .set_rate = s3c2440_camif_upll_setrate, 103 101 .round_rate = s3c2440_camif_upll_round, ··· 104 106 105 107 static struct clk s3c2440_clk_ac97 = { 106 108 .name = "ac97", 107 - .id = -1, 108 109 .enable = s3c2410_clkcon_enable, 109 110 .ctrlbit = S3C2440_CLKCON_CAMERA, 110 111 };
+4 -12
arch/arm/mach-s3c2443/clock.c
··· 59 59 60 60 static struct clk clk_i2s_ext = { 61 61 .name = "i2s-ext", 62 - .id = -1, 63 62 }; 64 63 65 64 /* armdiv ··· 138 139 139 140 static struct clk clk_armdiv = { 140 141 .name = "armdiv", 141 - .id = -1, 142 142 .parent = &clk_msysclk.clk, 143 143 .ops = &(struct clk_ops) { 144 144 .round_rate = s3c2443_armclk_roundrate, ··· 158 160 static struct clksrc_clk clk_arm = { 159 161 .clk = { 160 162 .name = "armclk", 161 - .id = -1, 162 163 }, 163 164 .sources = &(struct clksrc_sources) { 164 165 .sources = clk_arm_sources, ··· 174 177 static struct clksrc_clk clk_hsspi = { 175 178 .clk = { 176 179 .name = "hsspi", 177 - .id = -1, 178 180 .parent = &clk_esysclk.clk, 179 181 .ctrlbit = S3C2443_SCLKCON_HSSPICLK, 180 182 .enable = s3c2443_clkcon_enable_s, ··· 192 196 static struct clksrc_clk clk_hsmmc_div = { 193 197 .clk = { 194 198 .name = "hsmmc-div", 195 - .id = 1, 199 + .devname = "s3c-sdhci.1", 196 200 .parent = &clk_esysclk.clk, 197 201 }, 198 202 .reg_div = { .reg = S3C2443_CLKDIV1, .size = 2, .shift = 6 }, ··· 227 231 228 232 static struct clk clk_hsmmc = { 229 233 .name = "hsmmc-if", 230 - .id = 1, 234 + .devname = "s3c-sdhci.1", 231 235 .parent = &clk_hsmmc_div.clk, 232 236 .enable = s3c2443_enable_hsmmc, 233 237 .ops = &(struct clk_ops) { ··· 244 248 static struct clksrc_clk clk_i2s_eplldiv = { 245 249 .clk = { 246 250 .name = "i2s-eplldiv", 247 - .id = -1, 248 251 .parent = &clk_esysclk.clk, 249 252 }, 250 253 .reg_div = { .reg = S3C2443_CLKDIV1, .size = 4, .shift = 12, }, ··· 266 271 static struct clksrc_clk clk_i2s = { 267 272 .clk = { 268 273 .name = "i2s-if", 269 - .id = -1, 270 274 .ctrlbit = S3C2443_SCLKCON_I2SCLK, 271 275 .enable = s3c2443_clkcon_enable_s, 272 276 ··· 282 288 static struct clk init_clocks_off[] = { 283 289 { 284 290 .name = "sdi", 285 - .id = -1, 286 291 .parent = &clk_p, 287 292 .enable = s3c2443_clkcon_enable_p, 288 293 .ctrlbit = S3C2443_PCLKCON_SDI, 289 294 }, { 290 295 .name = "iis", 291 - .id = -1, 292 296 .parent = &clk_p, 293 297 .enable = s3c2443_clkcon_enable_p, 294 298 .ctrlbit = S3C2443_PCLKCON_IIS, 295 299 }, { 296 300 .name = "spi", 297 - .id = 0, 301 + .devname = "s3c2410-spi.0", 298 302 .parent = &clk_p, 299 303 .enable = s3c2443_clkcon_enable_p, 300 304 .ctrlbit = S3C2443_PCLKCON_SPI0, 301 305 }, { 302 306 .name = "spi", 303 - .id = 1, 307 + .devname = "s3c2410-spi.1", 304 308 .parent = &clk_p, 305 309 .enable = s3c2443_clkcon_enable_p, 306 310 .ctrlbit = S3C2443_PCLKCON_SPI1,
-4
arch/arm/plat-s3c24xx/clock-dclk.c
··· 169 169 170 170 struct clk s3c24xx_dclk0 = { 171 171 .name = "dclk0", 172 - .id = -1, 173 172 .ctrlbit = S3C2410_DCLKCON_DCLK0EN, 174 173 .enable = s3c24xx_dclk_enable, 175 174 .ops = &dclk_ops, ··· 176 177 177 178 struct clk s3c24xx_dclk1 = { 178 179 .name = "dclk1", 179 - .id = -1, 180 180 .ctrlbit = S3C2410_DCLKCON_DCLK1EN, 181 181 .enable = s3c24xx_dclk_enable, 182 182 .ops = &dclk_ops, ··· 187 189 188 190 struct clk s3c24xx_clkout0 = { 189 191 .name = "clkout0", 190 - .id = -1, 191 192 .ops = &clkout_ops, 192 193 }; 193 194 194 195 struct clk s3c24xx_clkout1 = { 195 196 .name = "clkout1", 196 - .id = -1, 197 197 .ops = &clkout_ops, 198 198 };
+3 -18
arch/arm/plat-s3c24xx/s3c2410-clock.c
··· 90 90 static struct clk init_clocks_off[] = { 91 91 { 92 92 .name = "nand", 93 - .id = -1, 94 93 .parent = &clk_h, 95 94 .enable = s3c2410_clkcon_enable, 96 95 .ctrlbit = S3C2410_CLKCON_NAND, 97 96 }, { 98 97 .name = "sdi", 99 - .id = -1, 100 98 .parent = &clk_p, 101 99 .enable = s3c2410_clkcon_enable, 102 100 .ctrlbit = S3C2410_CLKCON_SDI, 103 101 }, { 104 102 .name = "adc", 105 - .id = -1, 106 103 .parent = &clk_p, 107 104 .enable = s3c2410_clkcon_enable, 108 105 .ctrlbit = S3C2410_CLKCON_ADC, 109 106 }, { 110 107 .name = "i2c", 111 - .id = -1, 112 108 .parent = &clk_p, 113 109 .enable = s3c2410_clkcon_enable, 114 110 .ctrlbit = S3C2410_CLKCON_IIC, 115 111 }, { 116 112 .name = "iis", 117 - .id = -1, 118 113 .parent = &clk_p, 119 114 .enable = s3c2410_clkcon_enable, 120 115 .ctrlbit = S3C2410_CLKCON_IIS, 121 116 }, { 122 117 .name = "spi", 123 - .id = -1, 124 118 .parent = &clk_p, 125 119 .enable = s3c2410_clkcon_enable, 126 120 .ctrlbit = S3C2410_CLKCON_SPI, ··· 124 130 static struct clk init_clocks[] = { 125 131 { 126 132 .name = "lcd", 127 - .id = -1, 128 133 .parent = &clk_h, 129 134 .enable = s3c2410_clkcon_enable, 130 135 .ctrlbit = S3C2410_CLKCON_LCDC, 131 136 }, { 132 137 .name = "gpio", 133 - .id = -1, 134 138 .parent = &clk_p, 135 139 .enable = s3c2410_clkcon_enable, 136 140 .ctrlbit = S3C2410_CLKCON_GPIO, 137 141 }, { 138 142 .name = "usb-host", 139 - .id = -1, 140 143 .parent = &clk_h, 141 144 .enable = s3c2410_clkcon_enable, 142 145 .ctrlbit = S3C2410_CLKCON_USBH, 143 146 }, { 144 147 .name = "usb-device", 145 - .id = -1, 146 148 .parent = &clk_h, 147 149 .enable = s3c2410_clkcon_enable, 148 150 .ctrlbit = S3C2410_CLKCON_USBD, 149 151 }, { 150 152 .name = "timers", 151 - .id = -1, 152 153 .parent = &clk_p, 153 154 .enable = s3c2410_clkcon_enable, 154 155 .ctrlbit = S3C2410_CLKCON_PWMT, 155 156 }, { 156 157 .name = "uart", 157 - .id = 0, 158 + .devname = "s3c2410-uart.0", 158 159 .parent = &clk_p, 159 160 .enable = s3c2410_clkcon_enable, 160 161 .ctrlbit = S3C2410_CLKCON_UART0, 161 162 }, { 162 163 .name = "uart", 163 - .id = 1, 164 + .devname = "s3c2410-uart.1", 164 165 .parent = &clk_p, 165 166 .enable = s3c2410_clkcon_enable, 166 167 .ctrlbit = S3C2410_CLKCON_UART1, 167 168 }, { 168 169 .name = "uart", 169 - .id = 2, 170 + .devname = "s3c2410-uart.2", 170 171 .parent = &clk_p, 171 172 .enable = s3c2410_clkcon_enable, 172 173 .ctrlbit = S3C2410_CLKCON_UART2, 173 174 }, { 174 175 .name = "rtc", 175 - .id = -1, 176 176 .parent = &clk_p, 177 177 .enable = s3c2410_clkcon_enable, 178 178 .ctrlbit = S3C2410_CLKCON_RTC, 179 179 }, { 180 180 .name = "watchdog", 181 - .id = -1, 182 181 .parent = &clk_p, 183 182 .ctrlbit = 0, 184 183 }, { 185 184 .name = "usb-bus-host", 186 - .id = -1, 187 185 .parent = &clk_usb_bus, 188 186 }, { 189 187 .name = "usb-bus-gadget", 190 - .id = -1, 191 188 .parent = &clk_usb_bus, 192 189 }, 193 190 };
+4 -35
arch/arm/plat-s3c24xx/s3c2443-clock.c
··· 56 56 struct clk clk_mpllref = { 57 57 .name = "mpllref", 58 58 .parent = &clk_xtal, 59 - .id = -1, 60 59 }; 61 60 62 61 static struct clk *clk_epllref_sources[] = { ··· 68 69 struct clksrc_clk clk_epllref = { 69 70 .clk = { 70 71 .name = "epllref", 71 - .id = -1, 72 72 }, 73 73 .sources = &(struct clksrc_sources) { 74 74 .sources = clk_epllref_sources, ··· 90 92 .clk = { 91 93 .name = "esysclk", 92 94 .parent = &clk_epll, 93 - .id = -1, 94 95 }, 95 96 .sources = &(struct clksrc_sources) { 96 97 .sources = clk_sysclk_sources, ··· 112 115 static struct clk clk_mdivclk = { 113 116 .name = "mdivclk", 114 117 .parent = &clk_mpllref, 115 - .id = -1, 116 118 .ops = &(struct clk_ops) { 117 119 .get_rate = s3c2443_getrate_mdivclk, 118 120 }, ··· 128 132 .clk = { 129 133 .name = "msysclk", 130 134 .parent = &clk_xtal, 131 - .id = -1, 132 135 }, 133 136 .sources = &(struct clksrc_sources) { 134 137 .sources = clk_msysclk_sources, ··· 154 159 155 160 static struct clk clk_prediv = { 156 161 .name = "prediv", 157 - .id = -1, 158 162 .parent = &clk_msysclk.clk, 159 163 .ops = &(struct clk_ops) { 160 164 .get_rate = s3c2443_prediv_getrate, ··· 168 174 static struct clksrc_clk clk_usb_bus_host = { 169 175 .clk = { 170 176 .name = "usb-bus-host-parent", 171 - .id = -1, 172 177 .parent = &clk_esysclk.clk, 173 178 .ctrlbit = S3C2443_SCLKCON_USBHOST, 174 179 .enable = s3c2443_clkcon_enable_s, ··· 182 189 /* ART baud-rate clock sourced from esysclk via a divisor */ 183 190 .clk = { 184 191 .name = "uartclk", 185 - .id = -1, 186 192 .parent = &clk_esysclk.clk, 187 193 }, 188 194 .reg_div = { .reg = S3C2443_CLKDIV1, .size = 4, .shift = 8 }, ··· 189 197 /* camera interface bus-clock, divided down from esysclk */ 190 198 .clk = { 191 199 .name = "camif-upll", /* same as 2440 name */ 192 - .id = -1, 193 200 .parent = &clk_esysclk.clk, 194 201 .ctrlbit = S3C2443_SCLKCON_CAMCLK, 195 202 .enable = s3c2443_clkcon_enable_s, ··· 197 206 }, { 198 207 .clk = { 199 208 .name = "display-if", 200 - .id = -1, 201 209 .parent = &clk_esysclk.clk, 202 210 .ctrlbit = S3C2443_SCLKCON_DISPCLK, 203 211 .enable = s3c2443_clkcon_enable_s, ··· 209 219 static struct clk init_clocks_off[] = { 210 220 { 211 221 .name = "adc", 212 - .id = -1, 213 222 .parent = &clk_p, 214 223 .enable = s3c2443_clkcon_enable_p, 215 224 .ctrlbit = S3C2443_PCLKCON_ADC, 216 225 }, { 217 226 .name = "i2c", 218 - .id = -1, 219 227 .parent = &clk_p, 220 228 .enable = s3c2443_clkcon_enable_p, 221 229 .ctrlbit = S3C2443_PCLKCON_IIC, ··· 223 235 static struct clk init_clocks[] = { 224 236 { 225 237 .name = "dma", 226 - .id = 0, 227 238 .parent = &clk_h, 228 239 .enable = s3c2443_clkcon_enable_h, 229 240 .ctrlbit = S3C2443_HCLKCON_DMA0, 230 241 }, { 231 242 .name = "dma", 232 - .id = 1, 233 243 .parent = &clk_h, 234 244 .enable = s3c2443_clkcon_enable_h, 235 245 .ctrlbit = S3C2443_HCLKCON_DMA1, 236 246 }, { 237 247 .name = "dma", 238 - .id = 2, 239 248 .parent = &clk_h, 240 249 .enable = s3c2443_clkcon_enable_h, 241 250 .ctrlbit = S3C2443_HCLKCON_DMA2, 242 251 }, { 243 252 .name = "dma", 244 - .id = 3, 245 253 .parent = &clk_h, 246 254 .enable = s3c2443_clkcon_enable_h, 247 255 .ctrlbit = S3C2443_HCLKCON_DMA3, 248 256 }, { 249 257 .name = "dma", 250 - .id = 4, 251 258 .parent = &clk_h, 252 259 .enable = s3c2443_clkcon_enable_h, 253 260 .ctrlbit = S3C2443_HCLKCON_DMA4, 254 261 }, { 255 262 .name = "dma", 256 - .id = 5, 257 263 .parent = &clk_h, 258 264 .enable = s3c2443_clkcon_enable_h, 259 265 .ctrlbit = S3C2443_HCLKCON_DMA5, 260 266 }, { 261 267 .name = "hsmmc", 262 - .id = 1, 263 268 .parent = &clk_h, 264 269 .enable = s3c2443_clkcon_enable_h, 265 270 .ctrlbit = S3C2443_HCLKCON_HSMMC, 266 271 }, { 267 272 .name = "gpio", 268 - .id = -1, 269 273 .parent = &clk_p, 270 274 .enable = s3c2443_clkcon_enable_p, 271 275 .ctrlbit = S3C2443_PCLKCON_GPIO, 272 276 }, { 273 277 .name = "usb-host", 274 - .id = -1, 275 278 .parent = &clk_h, 276 279 .enable = s3c2443_clkcon_enable_h, 277 280 .ctrlbit = S3C2443_HCLKCON_USBH, 278 281 }, { 279 282 .name = "usb-device", 280 - .id = -1, 281 283 .parent = &clk_h, 282 284 .enable = s3c2443_clkcon_enable_h, 283 285 .ctrlbit = S3C2443_HCLKCON_USBD, 284 286 }, { 285 287 .name = "lcd", 286 - .id = -1, 287 288 .parent = &clk_h, 288 289 .enable = s3c2443_clkcon_enable_h, 289 290 .ctrlbit = S3C2443_HCLKCON_LCDC, 290 291 291 292 }, { 292 293 .name = "timers", 293 - .id = -1, 294 294 .parent = &clk_p, 295 295 .enable = s3c2443_clkcon_enable_p, 296 296 .ctrlbit = S3C2443_PCLKCON_PWMT, 297 297 }, { 298 298 .name = "cfc", 299 - .id = -1, 300 299 .parent = &clk_h, 301 300 .enable = s3c2443_clkcon_enable_h, 302 301 .ctrlbit = S3C2443_HCLKCON_CFC, 303 302 }, { 304 303 .name = "ssmc", 305 - .id = -1, 306 304 .parent = &clk_h, 307 305 .enable = s3c2443_clkcon_enable_h, 308 306 .ctrlbit = S3C2443_HCLKCON_SSMC, 309 307 }, { 310 308 .name = "uart", 311 - .id = 0, 309 + .devname = "s3c2440-uart.0", 312 310 .parent = &clk_p, 313 311 .enable = s3c2443_clkcon_enable_p, 314 312 .ctrlbit = S3C2443_PCLKCON_UART0, 315 313 }, { 316 314 .name = "uart", 317 - .id = 1, 315 + .devname = "s3c2440-uart.1", 318 316 .parent = &clk_p, 319 317 .enable = s3c2443_clkcon_enable_p, 320 318 .ctrlbit = S3C2443_PCLKCON_UART1, 321 319 }, { 322 320 .name = "uart", 323 - .id = 2, 321 + .devname = "s3c2440-uart.2", 324 322 .parent = &clk_p, 325 323 .enable = s3c2443_clkcon_enable_p, 326 324 .ctrlbit = S3C2443_PCLKCON_UART2, 327 325 }, { 328 326 .name = "uart", 329 - .id = 3, 327 + .devname = "s3c2440-uart.3", 330 328 .parent = &clk_p, 331 329 .enable = s3c2443_clkcon_enable_p, 332 330 .ctrlbit = S3C2443_PCLKCON_UART3, 333 331 }, { 334 332 .name = "rtc", 335 - .id = -1, 336 333 .parent = &clk_p, 337 334 .enable = s3c2443_clkcon_enable_p, 338 335 .ctrlbit = S3C2443_PCLKCON_RTC, 339 336 }, { 340 337 .name = "watchdog", 341 - .id = -1, 342 338 .parent = &clk_p, 343 339 .ctrlbit = S3C2443_PCLKCON_WDT, 344 340 }, { 345 341 .name = "ac97", 346 - .id = -1, 347 342 .parent = &clk_p, 348 343 .ctrlbit = S3C2443_PCLKCON_AC97, 349 344 }, { 350 345 .name = "nand", 351 - .id = -1, 352 346 .parent = &clk_h, 353 347 }, { 354 348 .name = "usb-bus-host", 355 - .id = -1, 356 349 .parent = &clk_usb_bus_host.clk, 357 350 } 358 351 };
-10
arch/arm/plat-samsung/clock.c
··· 195 195 196 196 struct clk clk_xtal = { 197 197 .name = "xtal", 198 - .id = -1, 199 198 .rate = 0, 200 199 .parent = NULL, 201 200 .ctrlbit = 0, ··· 202 203 203 204 struct clk clk_ext = { 204 205 .name = "ext", 205 - .id = -1, 206 206 }; 207 207 208 208 struct clk clk_epll = { 209 209 .name = "epll", 210 - .id = -1, 211 210 }; 212 211 213 212 struct clk clk_mpll = { 214 213 .name = "mpll", 215 - .id = -1, 216 214 .ops = &clk_ops_def_setrate, 217 215 }; 218 216 219 217 struct clk clk_upll = { 220 218 .name = "upll", 221 - .id = -1, 222 219 .parent = NULL, 223 220 .ctrlbit = 0, 224 221 }; 225 222 226 223 struct clk clk_f = { 227 224 .name = "fclk", 228 - .id = -1, 229 225 .rate = 0, 230 226 .parent = &clk_mpll, 231 227 .ctrlbit = 0, ··· 228 234 229 235 struct clk clk_h = { 230 236 .name = "hclk", 231 - .id = -1, 232 237 .rate = 0, 233 238 .parent = NULL, 234 239 .ctrlbit = 0, ··· 236 243 237 244 struct clk clk_p = { 238 245 .name = "pclk", 239 - .id = -1, 240 246 .rate = 0, 241 247 .parent = NULL, 242 248 .ctrlbit = 0, ··· 244 252 245 253 struct clk clk_usb_bus = { 246 254 .name = "usb-bus", 247 - .id = -1, 248 255 .rate = 0, 249 256 .parent = &clk_upll, 250 257 }; ··· 251 260 252 261 struct clk s3c24xx_uclk = { 253 262 .name = "uclk", 254 - .id = -1, 255 263 }; 256 264 257 265 /* initialise the clock system */
+10
arch/arm/plat-samsung/pwm-clock.c
··· 268 268 [0] = { 269 269 .clk = { 270 270 .name = "pwm-tdiv", 271 + .devname = "s3c24xx-pwm.0", 271 272 .ops = &clk_tdiv_ops, 272 273 .parent = &clk_timer_scaler[0], 273 274 }, ··· 276 275 [1] = { 277 276 .clk = { 278 277 .name = "pwm-tdiv", 278 + .devname = "s3c24xx-pwm.1", 279 279 .ops = &clk_tdiv_ops, 280 280 .parent = &clk_timer_scaler[0], 281 281 } ··· 284 282 [2] = { 285 283 .clk = { 286 284 .name = "pwm-tdiv", 285 + .devname = "s3c24xx-pwm.2", 287 286 .ops = &clk_tdiv_ops, 288 287 .parent = &clk_timer_scaler[1], 289 288 }, ··· 292 289 [3] = { 293 290 .clk = { 294 291 .name = "pwm-tdiv", 292 + .devname = "s3c24xx-pwm.3", 295 293 .ops = &clk_tdiv_ops, 296 294 .parent = &clk_timer_scaler[1], 297 295 }, ··· 300 296 [4] = { 301 297 .clk = { 302 298 .name = "pwm-tdiv", 299 + .devname = "s3c24xx-pwm.4", 303 300 .ops = &clk_tdiv_ops, 304 301 .parent = &clk_timer_scaler[1], 305 302 }, ··· 366 361 static struct clk clk_tin[] = { 367 362 [0] = { 368 363 .name = "pwm-tin", 364 + .devname = "s3c24xx-pwm.0", 369 365 .id = 0, 370 366 .ops = &clk_tin_ops, 371 367 }, 372 368 [1] = { 373 369 .name = "pwm-tin", 370 + .devname = "s3c24xx-pwm.1", 374 371 .id = 1, 375 372 .ops = &clk_tin_ops, 376 373 }, 377 374 [2] = { 378 375 .name = "pwm-tin", 376 + .devname = "s3c24xx-pwm.2", 379 377 .id = 2, 380 378 .ops = &clk_tin_ops, 381 379 }, 382 380 [3] = { 383 381 .name = "pwm-tin", 382 + .devname = "s3c24xx-pwm.3", 384 383 .id = 3, 385 384 .ops = &clk_tin_ops, 386 385 }, 387 386 [4] = { 388 387 .name = "pwm-tin", 388 + .devname = "s3c24xx-pwm.4", 389 389 .id = 4, 390 390 .ops = &clk_tin_ops, 391 391 },
+2
arch/arm/plat-samsung/time.c
··· 259 259 clk_enable(timerclk); 260 260 261 261 if (!use_tclk1_12()) { 262 + tmpdev.id = 4; 263 + tmpdev.dev.init_name = "s3c24xx-pwm.4"; 262 264 tin = clk_get(&tmpdev.dev, "pwm-tin"); 263 265 if (IS_ERR(tin)) 264 266 panic("failed to get pwm-tin clock for system timer");