Difference between revisions of "Linux 2.6.23 integration"
From ArmadeusWiki
(→Drivers test summary) |
|||
(33 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | ==Generic== | ||
+ | * in in arch/arm/mach-imx/generic.c line 338, remove __init in void __init set_imx_fb_info(struct imxfb_mach_info *hard_imx_fb_info) otherwise kernel gives compilation warning: | ||
+ | WARNING: vmlinux.o(__ksymtab+0x3d8): Section mismatch: reference to .init.text:set_imx_fb_info (between '__ksymtab_set_imx_fb_info' and '__ksymtab_imx_get_usb_clk') | ||
+ | * in arch/arm/mach-imx/apf9328.c line 28, config.h doesn't exist anymore | ||
+ | * do some modifications in scripts/checksyscalls.sh to prevent "missing syscalls warning" | ||
+ | |||
+ | ==Serial== | ||
* Serial registers Macros (like UFCR()) have been moved from imx-regs.h -> imx serial driver C file. So in apf9328.c we should remove these lines: | * Serial registers Macros (like UFCR()) have been moved from imx-regs.h -> imx serial driver C file. So in apf9328.c we should remove these lines: | ||
// Serial | // Serial | ||
UFCR(IMX_UART1_BASE) = 0xa81; | UFCR(IMX_UART1_BASE) = 0xa81; | ||
UFCR(IMX_UART2_BASE) = 0xa81; | UFCR(IMX_UART2_BASE) = 0xa81; | ||
+ | |||
+ | ==I2C== | ||
+ | * in ''drivers/i2c/busses/i2c-imx.c'', SA_INTERRUPT is now obsolete and should be replaced by IRQF_DISABLED in request_irq() (line 575) | ||
+ | * in drivers/i2c/busses/i2c-imx.h line 63, replace #define I2C_IMX_DEFAULT_CLKDIV 0x0f with #define I2C_IMX_DEFAULT_CLKDIV 16 otherwise it's giving error in driver compilation | ||
+ | * in drivers/i2c/busses/i2c-imx.h line 104, struct i2c_algorithm doesn't have slave_send nor slave_recv anymore | ||
+ | ==MTD== | ||
+ | * in drivers/mtd/maps/apf9328.c line 28, consistent_sync() should be replaced by flush_ioremap_region() otherwise kernel is crashing (+adding of #include <asm/cacheflush.h>) | ||
+ | |||
+ | ==RTC== | ||
+ | * in drivers/rtc/rtc-ds1374.c line 59 ''dev_dbg(&client->dev, "%s: raw read data...'' should be commented otherwise not compiling | ||
+ | |||
+ | ==Backlight== | ||
+ | * struct backlight_properties backlight_device have changed backlight_operations was introduced | ||
+ | * backlight_device_register() prototype has changed... | ||
+ | |||
+ | ==PWM== | ||
+ | * remove warnings in driver | ||
+ | * use IRQF_DISABLE | ||
+ | |||
+ | ==Patches to remove ??== | ||
+ | * 012-linux-2.6.23.1-apm9328.diff | ||
+ | |||
+ | ==Problems encountered== | ||
+ | * kernel is 4,3MBytes big -> LD bug ?? -> http://lkml.org/lkml/2007/9/14/303 + mailing list arm (pb appear with 2.6.22) | ||
+ | |||
+ | ==Drivers test summary== | ||
+ | {| border="1" cellpadding="5" cellspacing="0" summary="MMC+" | ||
+ | |- style="background:#efefef;" | ||
+ | ! '''Device''' || colspan="2" | '''Compiling ? <br> Static / Module''' || ''' Working ? ''' || '''Comments''' | ||
+ | |---------------- | ||
+ | |'''ADC''' || NA || style="background:#00ff00;" | OK || style="background:#00ff00;" | OK || | ||
+ | |---------------- | ||
+ | |'''Backlight''' || style="background:#00ff00;" | OK || style="background:#00ff00;" | OK || style="background:#00ff00;" | OK || | ||
+ | |---------------- | ||
+ | |'''CH7024 (Video Out)''' || style="background:#00ff00;" | OK || NA || style="background:#00ff00;" | OK || | ||
+ | |---------------- | ||
+ | |'''DAC''' || style="background:#00ff00;" | OK || NA || style="background:#00ff00;" | OK || | ||
+ | |---------------- | ||
+ | |'''Ethernet (DM9000)''' || style="background:#00ff00;" | OK || NA || style="background:#00ff00;" | OK || | ||
+ | |---------------- | ||
+ | |'''FPGA PS/2''' || NT || style="background:#00ff00;" | OK || style="background:#00ff00;" | OK || | ||
+ | |---------------- | ||
+ | |'''LCD''' || style="background:#00ff00;" | OK || NA || style="background:#00ff00;" | OK || message starting PID 235, tty | ||
+ | |---------------- | ||
+ | |'''MMC/SD''' || style="background:#00ff00;" | OK || NA || style="background:#00ff00;" | MMC OK || Linux boot on MMC Ok | ||
+ | |---------------- | ||
+ | |'''PWM classic''' || style="background:#00ff00;" | OK || style="background:#00ff00;" | OK || style="background:#00ff00;" | OK || [[PWM]] | ||
+ | |---------------- | ||
+ | |'''PWM sound''' || NA || style="background:#00ff00;" | OK || style="background:#00ff00;" | OK || [[PWM]] | ||
+ | |---------------- | ||
+ | |'''RTC''' || style="background:#00ff00;" | OK || style="background:#00ff00;" | OK || style="background:#00ff00;" | OK || | ||
+ | |---------------- | ||
+ | |'''Serial''' || style="background:#00ff00;" | OK || NA || style="background:#00ff00;" | both OK || | ||
+ | |---------------- | ||
+ | |'''TSC2102''' || NA || style="background:#00ff00;" | OK || style="background:#00ff00;" | OK || ts_test is not compiled :( | ||
+ | |---------------- | ||
+ | |'''USB (gadget)''' || style="background:#00ff00;" | OK || NT || style="background:#00ff00;" | Serial + Storage OK || [[USB_Gadget]] | ||
+ | |---------------- | ||
+ | |'''USB (host)''' || NA || style="background:#00ff00;" | OK || style="background:#00ff00;" | OK || | ||
+ | |---------------- | ||
+ | |'''Watchdog''' || NA || NA || NA || | ||
+ | |---------------- | ||
+ | |} |
Latest revision as of 23:09, 2 December 2007
Contents
Generic
- in in arch/arm/mach-imx/generic.c line 338, remove __init in void __init set_imx_fb_info(struct imxfb_mach_info *hard_imx_fb_info) otherwise kernel gives compilation warning:
WARNING: vmlinux.o(__ksymtab+0x3d8): Section mismatch: reference to .init.text:set_imx_fb_info (between '__ksymtab_set_imx_fb_info' and '__ksymtab_imx_get_usb_clk')
- in arch/arm/mach-imx/apf9328.c line 28, config.h doesn't exist anymore
- do some modifications in scripts/checksyscalls.sh to prevent "missing syscalls warning"
Serial
- Serial registers Macros (like UFCR()) have been moved from imx-regs.h -> imx serial driver C file. So in apf9328.c we should remove these lines:
// Serial UFCR(IMX_UART1_BASE) = 0xa81; UFCR(IMX_UART2_BASE) = 0xa81;
I2C
- in drivers/i2c/busses/i2c-imx.c, SA_INTERRUPT is now obsolete and should be replaced by IRQF_DISABLED in request_irq() (line 575)
- in drivers/i2c/busses/i2c-imx.h line 63, replace #define I2C_IMX_DEFAULT_CLKDIV 0x0f with #define I2C_IMX_DEFAULT_CLKDIV 16 otherwise it's giving error in driver compilation
- in drivers/i2c/busses/i2c-imx.h line 104, struct i2c_algorithm doesn't have slave_send nor slave_recv anymore
MTD
- in drivers/mtd/maps/apf9328.c line 28, consistent_sync() should be replaced by flush_ioremap_region() otherwise kernel is crashing (+adding of #include <asm/cacheflush.h>)
RTC
- in drivers/rtc/rtc-ds1374.c line 59 dev_dbg(&client->dev, "%s: raw read data... should be commented otherwise not compiling
Backlight
- struct backlight_properties backlight_device have changed backlight_operations was introduced
- backlight_device_register() prototype has changed...
PWM
- remove warnings in driver
- use IRQF_DISABLE
Patches to remove ??
- 012-linux-2.6.23.1-apm9328.diff
Problems encountered
- kernel is 4,3MBytes big -> LD bug ?? -> http://lkml.org/lkml/2007/9/14/303 + mailing list arm (pb appear with 2.6.22)
Drivers test summary
Device | Compiling ? Static / Module |
Working ? | Comments | |
---|---|---|---|---|
ADC | NA | OK | OK | |
Backlight | OK | OK | OK | |
CH7024 (Video Out) | OK | NA | OK | |
DAC | OK | NA | OK | |
Ethernet (DM9000) | OK | NA | OK | |
FPGA PS/2 | NT | OK | OK | |
LCD | OK | NA | OK | message starting PID 235, tty |
MMC/SD | OK | NA | MMC OK | Linux boot on MMC Ok |
PWM classic | OK | OK | OK | PWM |
PWM sound | NA | OK | OK | PWM |
RTC | OK | OK | OK | |
Serial | OK | NA | both OK | |
TSC2102 | NA | OK | OK | ts_test is not compiled :( |
USB (gadget) | OK | NT | Serial + Storage OK | USB_Gadget |
USB (host) | NA | OK | OK | |
Watchdog | NA | NA | NA |