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

Configure Feed

Select the types of activity you want to include in your feed.

Merge master.kernel.org:/home/rmk/linux-2.6-arm

+129 -16
+18 -2
arch/arm/common/scoop.c
··· 26 26 struct scoop_dev { 27 27 void *base; 28 28 spinlock_t scoop_lock; 29 + unsigned short suspend_clr; 30 + unsigned short suspend_set; 29 31 u32 scoop_gpwr; 30 32 }; 31 33 ··· 92 90 EXPORT_SYMBOL(read_scoop_reg); 93 91 EXPORT_SYMBOL(write_scoop_reg); 94 92 93 + static void check_scoop_reg(struct scoop_dev *sdev) 94 + { 95 + unsigned short mcr; 96 + 97 + mcr = SCOOP_REG(sdev->base, SCOOP_MCR); 98 + if ((mcr & 0x100) == 0) 99 + SCOOP_REG(sdev->base, SCOOP_MCR) = 0x0101; 100 + } 101 + 95 102 #ifdef CONFIG_PM 96 103 static int scoop_suspend(struct device *dev, pm_message_t state, uint32_t level) 97 104 { 98 105 if (level == SUSPEND_POWER_DOWN) { 99 106 struct scoop_dev *sdev = dev_get_drvdata(dev); 100 107 101 - sdev->scoop_gpwr = SCOOP_REG(sdev->base,SCOOP_GPWR); 102 - SCOOP_REG(sdev->base,SCOOP_GPWR) = 0; 108 + check_scoop_reg(sdev); 109 + sdev->scoop_gpwr = SCOOP_REG(sdev->base, SCOOP_GPWR); 110 + SCOOP_REG(sdev->base, SCOOP_GPWR) = (sdev->scoop_gpwr & ~sdev->suspend_clr) | sdev->suspend_set; 103 111 } 104 112 return 0; 105 113 } ··· 119 107 if (level == RESUME_POWER_ON) { 120 108 struct scoop_dev *sdev = dev_get_drvdata(dev); 121 109 110 + check_scoop_reg(sdev); 122 111 SCOOP_REG(sdev->base,SCOOP_GPWR) = sdev->scoop_gpwr; 123 112 } 124 113 return 0; ··· 163 150 reset_scoop(dev); 164 151 SCOOP_REG(devptr->base, SCOOP_GPCR) = inf->io_dir & 0xffff; 165 152 SCOOP_REG(devptr->base, SCOOP_GPWR) = inf->io_out & 0xffff; 153 + 154 + devptr->suspend_clr = inf->suspend_clr; 155 + devptr->suspend_set = inf->suspend_set; 166 156 167 157 return 0; 168 158 }
+1
arch/arm/mach-pxa/corgi.c
··· 36 36 #include <asm/arch/mmc.h> 37 37 #include <asm/arch/udc.h> 38 38 #include <asm/arch/corgi.h> 39 + #include <asm/arch/sharpsl.h> 39 40 40 41 #include <asm/mach/sharpsl_param.h> 41 42 #include <asm/hardware/scoop.h>
+3 -3
arch/arm/mach-sa1100/collie.c
··· 111 111 112 112 static void collie_set_vpp(int vpp) 113 113 { 114 - write_scoop_reg(&colliescoop_device.dev, SCOOP_GPCR, read_scoop_reg(SCOOP_GPCR) | COLLIE_SCP_VPEN); 114 + write_scoop_reg(&colliescoop_device.dev, SCOOP_GPCR, read_scoop_reg(&colliescoop_device.dev, SCOOP_GPCR) | COLLIE_SCP_VPEN); 115 115 if (vpp) 116 - write_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR, read_scoop_reg(SCOOP_GPWR) | COLLIE_SCP_VPEN); 116 + write_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR, read_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR) | COLLIE_SCP_VPEN); 117 117 else 118 - write_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR, read_scoop_reg(SCOOP_GPWR) & ~COLLIE_SCP_VPEN); 118 + write_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR, read_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR) & ~COLLIE_SCP_VPEN); 119 119 } 120 120 121 121 static struct flash_platform_data collie_flash_data = {
+10 -1
arch/arm/mm/alignment.c
··· 330 330 { 331 331 unsigned int rd = RD_BITS(instr); 332 332 333 + if (((rd & 1) == 1) || (rd == 14)) 334 + goto bad; 335 + 333 336 ai_dword += 1; 334 337 335 338 if (user_mode(regs)) ··· 364 361 } 365 362 366 363 return TYPE_LDST; 367 - 364 + bad: 365 + return TYPE_ERROR; 368 366 fault: 369 367 return TYPE_FAULT; 370 368 } ··· 667 663 else if ((instr & 0x001000f0) == 0x000000d0 || /* LDRD */ 668 664 (instr & 0x001000f0) == 0x000000f0) /* STRD */ 669 665 handler = do_alignment_ldrdstrd; 666 + else if ((instr & 0x01f00ff0) == 0x01000090) /* SWP */ 667 + goto swp; 670 668 else 671 669 goto bad; 672 670 break; ··· 738 732 */ 739 733 do_bad_area(current, current->mm, addr, fsr, regs); 740 734 return 0; 735 + 736 + swp: 737 + printk(KERN_ERR "Alignment trap: not handling swp instruction\n"); 741 738 742 739 bad: 743 740 /*
+86 -4
arch/arm/tools/mach-types
··· 2 2 # 3 3 # This file is linux/arch/arm/tools/mach-types 4 4 # 5 + # Up to date versions of this file can be obtained from: 6 + # 7 + # http://www.arm.linux.org.uk/developer/machines/?action=download 8 + # 5 9 # Please do not send patches to this file; it is automatically generated! 6 10 # To add an entry into this database, please see Documentation/arm/README, 7 - # or contact rmk@arm.linux.org.uk 11 + # or visit: 8 12 # 9 - # Last update: Thu Jun 23 20:19:33 2005 13 + # http://www.arm.linux.org.uk/developer/machines/?action=new 14 + # 15 + # Last update: Mon Oct 10 09:46:25 2005 10 16 # 11 17 # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number 12 18 # ··· 427 421 mport3s MACH_MPORT3S MPORT3S 411 428 422 ra_alpha MACH_RA_ALPHA RA_ALPHA 412 429 423 xcep MACH_XCEP XCEP 413 430 - arcom_mercury MACH_ARCOM_MERCURY ARCOM_MERCURY 414 424 + arcom_vulcan MACH_ARCOM_VULCAN ARCOM_VULCAN 414 431 425 stargate MACH_STARGATE STARGATE 415 432 426 armadilloj MACH_ARMADILLOJ ARMADILLOJ 416 433 427 elroy_jack MACH_ELROY_JACK ELROY_JACK 417 ··· 460 454 xm250 MACH_XM250 XM250 444 461 455 t6tc1xb MACH_T6TC1XB T6TC1XB 445 462 456 ess710 MACH_ESS710 ESS710 446 463 - mx3ads MACH_MX3ADS MX3ADS 447 457 + mx31ads MACH_MX3ADS MX3ADS 447 464 458 himalaya MACH_HIMALAYA HIMALAYA 448 465 459 bolfenk MACH_BOLFENK BOLFENK 449 466 460 at91rm9200kr MACH_AT91RM9200KR AT91RM9200KR 450 ··· 793 787 tapwave_zodiac MACH_TAPWAVE_ZODIAC TAPWAVE_ZODIAC 779 794 788 universalmeter MACH_UNIVERSALMETER UNIVERSALMETER 780 795 789 hicoarm9 MACH_HICOARM9 HICOARM9 781 790 + pnx4008 MACH_PNX4008 PNX4008 782 791 + kws6000 MACH_KWS6000 KWS6000 783 792 + portux920t MACH_PORTUX920T PORTUX920T 784 793 + ez_x5 MACH_EZ_X5 EZ_X5 785 794 + omap_rudolph MACH_OMAP_RUDOLPH OMAP_RUDOLPH 786 795 + cpuat91 MACH_CPUAT91 CPUAT91 787 796 + rea9200 MACH_REA9200 REA9200 788 797 + acts_pune_sa1110 MACH_ACTS_PUNE_SA1110 ACTS_PUNE_SA1110 789 798 + ixp425 MACH_IXP425 IXP425 790 799 + argonplusodyssey MACH_ODYSSEY ODYSSEY 791 800 + perch MACH_PERCH PERCH 792 801 + eis05r1 MACH_EIS05R1 EIS05R1 793 802 + pepperpad MACH_PEPPERPAD PEPPERPAD 794 803 + sb3010 MACH_SB3010 SB3010 795 804 + rm9200 MACH_RM9200 RM9200 796 805 + dma03 MACH_DMA03 DMA03 797 806 + road_s101 MACH_ROAD_S101 ROAD_S101 798 807 + iq_nextgen_a MACH_IQ_NEXTGEN_A IQ_NEXTGEN_A 799 808 + iq_nextgen_b MACH_IQ_NEXTGEN_B IQ_NEXTGEN_B 800 809 + iq_nextgen_c MACH_IQ_NEXTGEN_C IQ_NEXTGEN_C 801 810 + iq_nextgen_d MACH_IQ_NEXTGEN_D IQ_NEXTGEN_D 802 811 + iq_nextgen_e MACH_IQ_NEXTGEN_E IQ_NEXTGEN_E 803 812 + mallow_at91 MACH_MALLOW_AT91 MALLOW_AT91 804 813 + cybertracker MACH_CYBERTRACKER CYBERTRACKER 805 814 + gesbc931x MACH_GESBC931X GESBC931X 806 815 + centipad MACH_CENTIPAD CENTIPAD 807 816 + armsoc MACH_ARMSOC ARMSOC 808 817 + se4200 MACH_SE4200 SE4200 809 818 + ems197a MACH_EMS197A EMS197A 810 819 + micro9 MACH_MICRO9 MICRO9 811 820 + micro9l MACH_MICRO9L MICRO9L 812 821 + uc5471dsp MACH_UC5471DSP UC5471DSP 813 822 + sj5471eng MACH_SJ5471ENG SJ5471ENG 814 823 + none MACH_CMPXA26X CMPXA26X 815 824 + nc MACH_NC NC 816 825 + omap_palmte MACH_OMAP_PALMTE OMAP_PALMTE 817 826 + ajax52x MACH_AJAX52X AJAX52X 818 827 + siriustar MACH_SIRIUSTAR SIRIUSTAR 819 828 + iodata_hdlg MACH_IODATA_HDLG IODATA_HDLG 820 829 + at91rm9200utl MACH_AT91RM9200UTL AT91RM9200UTL 821 830 + biosafe MACH_BIOSAFE BIOSAFE 822 831 + mp1000 MACH_MP1000 MP1000 823 832 + parsy MACH_PARSY PARSY 824 833 + ccxp270 MACH_CCXP CCXP 825 834 + omap_gsample MACH_OMAP_GSAMPLE OMAP_GSAMPLE 826 835 + realview_eb MACH_REALVIEW_EB REALVIEW_EB 827 836 + samoa MACH_SAMOA SAMOA 828 837 + t3xscale MACH_T3XSCALE T3XSCALE 829 838 + i878 MACH_I878 I878 830 839 + borzoi MACH_BORZOI BORZOI 831 840 + gecko MACH_GECKO GECKO 832 841 + ds101 MACH_DS101 DS101 833 842 + omap_palmtt2 MACH_OMAP_PALMTT2 OMAP_PALMTT2 834 843 + xscale_palmld MACH_XSCALE_PALMLD XSCALE_PALMLD 835 844 + cc9c MACH_CC9C CC9C 836 845 + sbc1670 MACH_SBC1670 SBC1670 837 846 + ixdp28x5 MACH_IXDP28X5 IXDP28X5 838 847 + omap_palmtt MACH_OMAP_PALMTT OMAP_PALMTT 839 848 + ml696k MACH_ML696K ML696K 840 849 + arcom_zeus MACH_ARCOM_ZEUS ARCOM_ZEUS 841 850 + osiris MACH_OSIRIS OSIRIS 842 851 + maestro MACH_MAESTRO MAESTRO 843 852 + tunge2 MACH_TUNGE2 TUNGE2 844 853 + ixbbm MACH_IXBBM IXBBM 845 854 + mx27 MACH_MX27 MX27 846 855 + ax8004 MACH_AX8004 AX8004 847 856 + at91sam9261ek MACH_AT91SAM9261EK AT91SAM9261EK 848 857 + loft MACH_LOFT LOFT 849 858 + magpie MACH_MAGPIE MAGPIE 850 859 + mx21 MACH_MX21 MX21 851 860 + mb87m3400 MACH_MB87M3400 MB87M3400 852 861 + mguard_delta MACH_MGUARD_DELTA MGUARD_DELTA 853 862 + davinci_dvdp MACH_DAVINCI_DVDP DAVINCI_DVDP 854 863 + htcuniversal MACH_HTCUNIVERSAL HTCUNIVERSAL 855 864 + tpad MACH_TPAD TPAD 856 865 + roverp3 MACH_ROVERP3 ROVERP3 857
+1
drivers/char/s3c2410-rtc.c
··· 564 564 565 565 static struct device_driver s3c2410_rtcdrv = { 566 566 .name = "s3c2410-rtc", 567 + .owner = THIS_MODULE, 567 568 .bus = &platform_bus_type, 568 569 .probe = s3c2410_rtc_probe, 569 570 .remove = s3c2410_rtc_remove,
+4 -5
drivers/serial/imx.c
··· 383 383 */ 384 384 retval = request_irq(sport->rxirq, imx_rxint, 0, 385 385 DRIVER_NAME, sport); 386 - if (retval) goto error_out2; 386 + if (retval) goto error_out1; 387 387 388 388 retval = request_irq(sport->txirq, imx_txint, 0, 389 389 "imx-uart", sport); 390 - if (retval) goto error_out1; 390 + if (retval) goto error_out2; 391 391 392 392 /* 393 393 * Finally, clear and enable interrupts ··· 406 406 407 407 return 0; 408 408 409 - error_out1: 410 - free_irq(sport->rxirq, sport); 411 409 error_out2: 412 - free_irq(sport->txirq, sport); 410 + free_irq(sport->rxirq, sport); 411 + error_out1: 413 412 return retval; 414 413 } 415 414
+3
drivers/serial/s3c2410.c
··· 1235 1235 1236 1236 static struct device_driver s3c2400_serial_drv = { 1237 1237 .name = "s3c2400-uart", 1238 + .owner = THIS_MODULE, 1238 1239 .bus = &platform_bus_type, 1239 1240 .probe = s3c2400_serial_probe, 1240 1241 .remove = s3c24xx_serial_remove, ··· 1339 1338 1340 1339 static struct device_driver s3c2410_serial_drv = { 1341 1340 .name = "s3c2410-uart", 1341 + .owner = THIS_MODULE, 1342 1342 .bus = &platform_bus_type, 1343 1343 .probe = s3c2410_serial_probe, 1344 1344 .remove = s3c24xx_serial_remove, ··· 1501 1499 1502 1500 static struct device_driver s3c2440_serial_drv = { 1503 1501 .name = "s3c2440-uart", 1502 + .owner = THIS_MODULE, 1504 1503 .bus = &platform_bus_type, 1505 1504 .probe = s3c2440_serial_probe, 1506 1505 .remove = s3c24xx_serial_remove,
+1 -1
include/asm-arm/arch-imx/imx-regs.h
··· 215 215 #define PC31_AOUT_UART3_RX ( GPIO_GIUS | GPIO_PORTC | GPIO_IN | 31) 216 216 #define PD6_PF_LSCLK ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 6 ) 217 217 #define PD7_PF_REV ( GPIO_PORTD | GPIO_PF | 7 ) 218 - #define PD7_AF_UART2_DTR ( GPIO_PORTD | GPIO_IN | GPIO_AF | 7 ) 218 + #define PD7_AF_UART2_DTR ( GPIO_GIUS | GPIO_PORTD | GPIO_IN | GPIO_AF | 7 ) 219 219 #define PD7_AIN_SPI2_SCLK ( GPIO_GIUS | GPIO_PORTD | GPIO_AIN | 7 ) 220 220 #define PD8_PF_CLS ( GPIO_PORTD | GPIO_PF | 8 ) 221 221 #define PD8_AF_UART2_DCD ( GPIO_PORTD | GPIO_OUT | GPIO_AF | 8 )
+2
include/asm-arm/hardware/scoop.h
··· 38 38 struct scoop_config { 39 39 unsigned short io_out; 40 40 unsigned short io_dir; 41 + unsigned short suspend_clr; 42 + unsigned short suspend_set; 41 43 }; 42 44 43 45 /* Structure for linking scoop devices to PCMCIA sockets */