Linux 2.6.23 integration
From ArmadeusWiki
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 sound | ??? | NT | NT | |
RTC | OK | OK | OK | |
Serial | OK | NA | 0 -> OK, 1 -> NT | |
TSC2102 | NA | OK | OK | ts_test is not compiled :( |
USB (gadget) | OK | NT | Serial + Storage OK | USB_Gadget |
USB (host) | NA | OK | OK | |
Watchdog | NT | NT | NT |