summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'phytec-master-sha-lfu' of ↵HEADphytec-mastermasterSascha Hauer2009-08-0710-46/+580
|\ | | | | | | | | | | | | | | | | /ptx/work/octopus/lfu/kernel/linux-2.6-git-1 into phytec-master Conflicts: drivers/mfd/Makefile Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * mc13783_ts: add measurment toleranceLuotao Fu2009-07-281-5/+26
| | | | | | | | | | | | | | | | mc13783_ts does three measurments for each coordinates. Comparation of these values can indicate if there're any erroneous sampel. We now add a tolerance limit and add comparation routines. Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * mc13783: add adc driverLuotao Fu2009-07-289-62/+405
| | | | | | | | | | | | | | | | The AD Converter Unit on pmic mc13783 supports also the touchscreen interface besides "normal" conversion. To add the ADC functionality, we have to change the touchscreen code also to avoid conflicts. Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * mc13783: fix drv_data usageLuotao Fu2009-07-203-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | mc13783 core uses the drv_data member to store the pointer to mc13783 struct in every platformdevice, which it registers for the subdevices. However the devcises resets the pointer in their platform device to store the pointer to its own priv struct as soon as it is loaded. This leads to the device driver leaves invalid addess in its platform device once its unloaded. This way the drivers can only loaded once since it'll need the pointer to mc13783 on loading. We now use platform_data to store this pointer instead and let the drivers use drv_data for their own purpose. Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * mc13783: add adc1~adc4 and interrupt status/mask register definitionLuotao Fu2009-07-202-4/+173
| | | | | | | | Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
* | pca100: Set SDHC card detect irq from low to falling edgeJan Weitzel2009-07-081-2/+3
| | | | | | | | | | | | Signed-off-by: Jan Weitzel <J.Weitzel@phytec.de> Acked-by: Luotao Fu <l.fu@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Remove old CAN supportSascha Hauer2009-07-0114-3829/+0
| | | | | | | | | | | | only keep mainline and the drivers we need for phytec Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'phytec-master-new' into tmp2Sascha Hauer2009-07-017506-398913/+761886
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: arch/arm/Kconfig arch/arm/mach-mx2/Kconfig arch/arm/mach-mx2/Makefile arch/arm/mach-mx2/clock_imx27.c arch/arm/mach-mx2/devices.c arch/arm/mach-mx2/devices.h arch/arm/mach-mx2/pca100.c arch/arm/mach-mx2/pcm038.c arch/arm/mach-mx2/pcm970-baseboard.c arch/arm/mach-mx3/Kconfig arch/arm/mach-mx3/Makefile arch/arm/mach-mx3/devices.c arch/arm/mach-mx3/devices.h arch/arm/mach-mx3/mx31moboard.c arch/arm/mach-mx3/pcm037.c arch/arm/mach-mx3/pcm043.c arch/arm/plat-mxc/Kconfig arch/arm/plat-mxc/include/mach/debug-macro.S drivers/mfd/mc13783-core.c drivers/net/Kconfig drivers/net/can/Kconfig drivers/net/can/Makefile drivers/net/can/dev.c drivers/net/can/mcp251x.c drivers/net/can/sja1000/Makefile drivers/net/can/sja1000/ems_pci.c drivers/net/can/sja1000/kvaser_pci.c drivers/net/can/sja1000/sja1000.c drivers/net/can/sja1000/sja1000.h drivers/net/can/sja1000/sja1000_platform.c drivers/regulator/Kconfig drivers/usb/gadget/fsl_udc_core.c drivers/video/imxfb.c drivers/watchdog/Makefile include/linux/can/dev.h sound/arm/imx2-pcm.c Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | pcm037: mux configuration for predefined gpio lineLuotao Fu2009-07-011-0/+2
| | | | | | | | | | | | Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | pcm043: mux configuration for predefined gpio lineLuotao Fu2009-07-011-0/+2
| | | | | | | | | | | | Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | pcm038: mux configuration for predefined gpio lineLuotao Fu2009-07-011-0/+2
| | | | | | | | | | | | Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | Avoid register reading in atomic stateLuotao Fu2009-07-011-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > Hi, > > I have mcp2515 chip (socketcan revision 970) with at91sam9261 (olimex > board) and when I want to get state of the interface by typing: > > cat /sys/devices/platform/atmel_spi.0/spi0.3/net/can0/can_state > > I get this: > > BUG: scheduling while atomic: cat/387/0x00000002 this is my conjecture: what happens here is that some function in the stack dump you posted calls mcp251x_do_get_state in an atomic context. After some grepping I found that one culprit (but I'm not sure it's alone) is can_dev_show doing a read_lock (I guess you have preemption on otherwise the spinlock should vanish ... you don't have a SMP ARM, do you?). The mcp251x works on a slow bus (SPI) which needs an interrupt to finish register read so it sleeps until it's delivered (we cannot busy loop since it would waste tons of CPU time). But in Linux you can't sleep (or better, you cannot reschedule) while holing a spinlock. To say the truth this is an unfortunate situation that is quite common when dealing with devices over such slow buses (I2C, SPI, etc.). So, we can: 1) rewrite the function above lockless. It's not that easy. 2) you can try the patch attached (but keep in mind I haven't tested it right now, I'm away from the hardware). But beware, the reading could become stale. What can happen is that the bus recovers but the entry is not updated (the other way is not possible because a bus error triggers an interrupt and the state is update). Unfortunately we don't have a reliable way to know if we are in an atomic context (see http://lwn.net/Articles/274695/ ) to make the guess more rightful. I don't see other ways for solving this problem right now. Perhaps some more skilled kernel hacker can give a better advice. I love to hear opinions on this since I met this problem myself a couple of times. Signed-off-by: Daniel Lewandowski <daniel@raciazek.eu>
| * | pca100: add can supportLuotao Fu2009-07-011-3/+25
| | | | | | | | | | | | Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | pca100: mux configuration for predefined gpio linesLuotao Fu2009-07-011-0/+7
| | | | | | | | | | | | Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | add driver for mcp251x spi canLuotao Fu2009-07-014-0/+1280
| | | | | | | | | | | | | | | | | | | | | This one is ripped of latest berlios socketcan tree (r1010) with some minor modifications to get it run with our stack in 2.6.30-rc7-ptx-mxc1 Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | mxcmmc: Lower mininum clock to 200kHzSascha Hauer2009-07-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed for MMC cards on i.MX31. Not sure why this is needed, but otherwise we get a mmc0: error -110 whilst initialising MMC card Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | pca100: cleaning up usb pin initialisationLuotao Fu2009-07-011-45/+28
| | | | | | | | | | | | | | | | | | | | | | | | We can now control the gpio driven cs line on the both usb phys to ensure that they are initialized correctly. Hence there's no need to split up the usb pin mux definition out of pca100_pins any more. Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | pca100: add otg supportLuotao Fu2009-07-011-0/+108
| | | | | | | | | | | | Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | mx2: add otg device mode platform deviceLuotao Fu2009-07-013-0/+15
| | | | | | | | | | | | | | | | | | add clock and device definition for otg device mode usage on mx2 Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | mx27: fix otg interrupt assignmentLuotao Fu2009-07-012-2/+2
| | | | | | | | | | | | | | | | | | fix name of usb otg interrupt and usage in device Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | pca100: add chipselect for host usb phyLuotao Fu2009-07-011-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | deactivate usb phy by pulling up the chipselect line during initialization of usb host controller to prevent phy crash caused by undefined behaviour of mx2 usb controller during initialization Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | pca100:add card detection to sdhc supportLuotao Fu2009-07-011-1/+28
| | | | | | | | | | | | Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | (re)enable ehci support on pca100Luotao Fu2009-07-012-1/+2
| | | | | | | | | | | | | | | | | | add ehci platform device registration and select ulpi Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | add to i.MX27 sound supportSascha Hauer2009-06-301-1/+2
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | add to pcm970 CAN supportSascha Hauer2009-06-301-5/+1
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | mt9v022: fix bayer formatSascha Hauer2009-06-231-1/+1
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | mx27: changed CONSISTENT_DMA_SIZE to 16M for mx27 videoLuotao Fu2009-06-232-0/+12
| | | | | | | | | | | | Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | mx31: add mt9m001 and mt9v022 CMOS camera to PCM037 boardLuotao Fu2009-06-232-8/+57
| | | | | | | | | | | | | | | Signed-off-by: Luotao Fu <l.fu@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | mx31:Add MT9T031 CMOS camera sensor to PCM037 boardGuennadi Liakhovetski2009-06-232-13/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for the MT9T031 CMOS camera sensor from Aptina to the PCM037 board. Also add two I2C iomux pin definitions, needed for pcm037 Changes since v1: removed #ifdef CONFIG_I2C_IMX* checks, added a call to dma_free_coherent() on the error path. Signed-off-by: Guennadi Liakhovetski <lg@denx.de> Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | mx31: changed CONSISTENT_DMA_SIZE to 16M for mx31 videoValentin Longchamp2009-06-231-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch> Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
| * | pcm043: Add SPI EEPROMSascha Hauer2009-06-231-0/+41
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | update mx3_defconfigSascha Hauer2009-06-231-88/+532
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | (re-)add pcm038_defconfigSascha Hauer2009-06-231-0/+1433
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | add pcm037_defconfigSascha Hauer2009-06-231-0/+1566
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | fsl udc driver: add mx35 supportSascha Hauer2009-06-231-11/+20
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | i.MX35: implement get_rate for usb otg clockSascha Hauer2009-06-231-1/+15
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | mx35 clock: give ehci clocks namesSascha Hauer2009-06-231-3/+3
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | mx31 clock: remove obsolete FIXME commentSascha Hauer2009-06-231-1/+0
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | mx3x: Fixup USB base addressesSascha Hauer2009-06-234-17/+26
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ehci mxc: Fix clocks for i.MX27Sascha Hauer2009-06-231-4/+7
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ehci mxc: Fix clocksSascha Hauer2009-06-231-3/+6
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | i.MX35 clock support: Add USB clocksSascha Hauer2009-06-231-2/+4
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | initial pca100 supportSascha Hauer2009-06-235-1/+423
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | pcm038: disable support for SDHC ro switchSascha Hauer2009-06-231-0/+4
| | | | | | | | | | | | | | | | | | By default it is not connected on the baseboard Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | add MC13783 Touchscreen driverSascha Hauer2009-06-233-0/+204
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | imxfb: Add support for multiple displaysSascha Hauer2009-06-234-128/+210
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | imxfb: calculate bpix value from bits_per_pixelSascha Hauer2009-06-232-2/+20
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | PCM038: Add CAN supportSascha Hauer2009-06-232-0/+66
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | HACK: increase default tx_queue_len to 10000Marc Kleine-Budde2009-06-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HACK HACK HACK Without this patch sending CAN packages faster then they could be send out on the wire results in -ENOBUF. This patch increases the default tx_queue_len to 10000 so that in this case the sender blocks. Thus the CAN socket just behaves like congested a TCP/IP socket. HACK HACK HACK Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
| * | i.MX27: add cpu frequency scaling supportSascha Hauer2009-06-233-1/+155
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>