preparing pcf50633 for upstream

Balaji Rao balaji at raobalaji.com
Sat Sep 27 18:45:40 CEST 2008


On Friday 26 September 2008 11:55:57 am Werner Almesberger wrote:

<snip>

>
> These are quite drastic changes. The PCF50633 driver has grown into
> being the "GTA02 schematics sheet 3" driver over time, so there's
> now quite a bit to untangle.
>

Yes, one thing I noticed was that the pcf50633 driver works only with
one instance of the hardware present. I was working to remove that
limitation. I've used i2c_board_info from within mach-gta02.c and
changed the pcf50633 i2c_client driver to "new style". 

I'll begin looking into the other problems you mentioned.

One problem now is that I'm not able to build stable-upstream. I see
a lot of errors and warnings related to pwm and fiq (Btw, what is
pwm and fiq ? - I'm not able to find any decent explanation anywhere).
Here are the build messages. Can anyone tell me what's wrong ? One thing
I've noticed is that the include/asm-arm/ directory no longer contains
machine specific includes. I believe they have been moved into the 
arch/asm/arm/mach-xxxx/include directory ? Is this the cause of
the problem ?


  CC      arch/arm/mach-s3c2440/fiq_c_isr.o
  CC      arch/arm/mach-s3c2440/mach-gta02.o
  LD      arch/arm/mach-s3c2442/built-in.o
arch/arm/mach-s3c2440/fiq_c_isr.c:22:26: error: asm/arch/pwm.h: No such file or directory
arch/arm/mach-s3c2440/fiq_c_isr.c: In function ‘fiq_init_irq_source’:
arch/arm/mach-s3c2440/fiq_c_isr.c:137: error: implicit declaration of function ‘s3c2410_pwm_init’
arch/arm/mach-s3c2440/fiq_c_isr.c:141: error: invalid use of undefined type ‘struct s3c2410_pwm’
arch/arm/mach-s3c2440/fiq_c_isr.c:141: error: ‘PWM0’ undeclared (first use in this function)
arch/arm/mach-s3c2440/fiq_c_isr.c:141: error: (Each undeclared identifier is reported only once
arch/arm/mach-s3c2440/fiq_c_isr.c:141: error: for each function it appears in.)
arch/arm/mach-s3c2440/fiq_c_isr.c:142: error: invalid use of undefined type ‘struct s3c2410_pwm’
arch/arm/mach-s3c2440/fiq_c_isr.c:143: error: invalid use of undefined type ‘struct s3c2410_pwm’
arch/arm/mach-s3c2440/fiq_c_isr.c:145: error: invalid use of undefined type ‘struct s3c2410_pwm’
arch/arm/mach-s3c2440/fiq_c_isr.c:145: error: invalid use of undefined type ‘struct s3c2410_pwm’
arch/arm/mach-s3c2440/fiq_c_isr.c:147: error: implicit declaration of function ‘s3c2410_pwm_enable’
arch/arm/mach-s3c2440/fiq_c_isr.c:151: error: implicit declaration of function ‘s3c2410_pwm_start’
make[1]: *** [arch/arm/mach-s3c2440/fiq_c_isr.o] Error 1
make[1]: *** Waiting for unfinished jobs....
arch/arm/mach-s3c2440/mach-gta02.c:64:26: error: asm/arch/mci.h: No such file or directory
arch/arm/mach-s3c2440/mach-gta02.c:65:25: error: asm/arch/ts.h: No such file or directory
arch/arm/mach-s3c2440/mach-gta02.c:67:31: error: asm/arch/spi-gpio.h: No such file or directory
arch/arm/mach-s3c2440/mach-gta02.c:71:28: error: asm/arch/gta02.h: No such file or directory
arch/arm/mach-s3c2440/mach-gta02.c:86:36: error: asm/arch/fiq_ipc_gta02.h: No such file or directory
arch/arm/mach-s3c2440/mach-gta02.c: In function ‘s3c2440_fiq_isr’:
arch/arm/mach-s3c2440/mach-gta02.c:147: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:147: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:148: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:149: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:151: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:151: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:152: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:153: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:162: error: ‘HDQB_IDLE’ undeclared (first use in this function)
arch/arm/mach-s3c2440/mach-gta02.c:162: error: (Each undeclared identifier is reported only once
arch/arm/mach-s3c2440/mach-gta02.c:162: error: for each function it appears in.)
arch/arm/mach-s3c2440/mach-gta02.c:163: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:163: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:166: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:167: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:169: error: ‘HDQB_TX_BREAK’ undeclared (first use in this function)
arch/arm/mach-s3c2440/mach-gta02.c:169: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:175: error: ‘HDQB_TX_BREAK_RECOVERY’ undeclared (first use in this function)
arch/arm/mach-s3c2440/mach-gta02.c:175: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:176: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:183: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:187: error: ‘HDQB_ADS_CALC’ undeclared (first use in this function)
arch/arm/mach-s3c2440/mach-gta02.c:195: error: ‘HDQB_ADS_LOW’ undeclared (first use in this function)
arch/arm/mach-s3c2440/mach-gta02.c:195: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:198: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:204: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:205: error: ‘HDQB_ADS_HIGH’ undeclared (first use in this function)
arch/arm/mach-s3c2440/mach-gta02.c:205: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:212: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:221: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:225: error: ‘HDQB_WAIT_TX’ undeclared (first use in this function)
arch/arm/mach-s3c2440/mach-gta02.c:225: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:231: error: ‘HDQB_WAIT_RX’ undeclared (first use in this function)
arch/arm/mach-s3c2440/mach-gta02.c:231: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:232: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:240: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:242: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:245: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:246: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:247: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:249: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:253: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:259: error: ‘HDQB_DATA_RX_LOW’ undeclared (first use in this function)  CC      arch/arm/plat-s3c24xx/devs.o

arch/arm/mach-s3c2440/mach-gta02.c:259: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:263: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:264: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:265: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:275: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:276: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:278: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:281: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:282: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:283: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:285: error: ‘HDQB_DATA_RX_HIGH’ undeclared (first use in this function)
arch/arm/mach-s3c2440/mach-gta02.c:285: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:295: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:296: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:297: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:301: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:306: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:312: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:313: error: invalid use of undefined type ‘struct fiq_ipc’
arch/arm/mach-s3c2440/mach-gta02.c:315: error: ‘hdq_state’ has an incomplete type
arch/arm/mach-s3c2440/mach-gta02.c:335: error: implicit declaration of function ‘S3C2410_TCNTB’
arch/arm/mach-s3c2440/mach-gta02.c:161: confused by earlier errors, bailing out
make[1]: *** [arch/arm/mach-s3c2440/mach-gta02.o] Error 1
  CC      arch/arm/plat-s3c24xx/s3c244x.o
make: *** [arch/arm/mach-s3c2440] Error 2
make: *** Waiting for unfinished jobs....
  CC      arch/arm/plat-s3c24xx/s3c244x-irq.o
  CC      arch/arm/plat-s3c24xx/s3c244x-clock.o
  CC      arch/arm/plat-s3c24xx/pm.o
arch/arm/plat-s3c24xx/devs.c:27:25: error: asm/arch/ts.h: No such file or directory
arch/arm/plat-s3c24xx/devs.c: In function ‘set_s3c2410ts_info’:
arch/arm/plat-s3c24xx/devs.c:223: error: invalid application of ‘sizeof’ to incomplete type ‘struct s3c2410_ts_mach_info’ 
make[1]: *** [arch/arm/plat-s3c24xx/devs.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [arch/arm/plat-s3c24xx] Error 2
+ exit 1

-- 
Thanks,
Balaji Rao



More information about the openmoko-kernel mailing list