Linux 2.6.23 integration
From ArmadeusWiki
Contents
Generic
- in in drivers/i2c/busses/i2c-imx.h 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
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)