Difference between revisions of "Kernel 3.4 to 3.10 porting guide"

From eLinux.org
Jump to: navigation, search
(capture all the __dev macros that were removed in 3.8)
m (make subheader more distinct)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Here are some issues you may run into when porting something from 3.4 to 3.10:
+
'''Here are some issues you may run into when porting something from 3.4 to 3.10:'''
  
 +
----
 
* a whole set of __dev... macros are no longer used or defined
 
* a whole set of __dev... macros are no longer used or defined
 
** Here is the list: __devinit, __devinitdata, __devinitconst, __devexit, __devexitdata, __devexitconst
 
** Here is the list: __devinit, __devinitdata, __devinitconst, __devexit, __devexitdata, __devexitconst
** background: These attribute were used on certain driver and data declarations, putting them in a separate ELF section that could be discarded under certain circumstances.  This functionality is no longer relevant, and the macros were removed in version 3.8 of the kernel.  The macros should no longer be used.
+
** background: These attributes were used on certain driver functions and data declarations, putting them in a separate section that could be discarded under certain circumstances.  This functionality is no longer relevant, and the macros were removed in version 3.8 of the kernel.  The macros should no longer be used.
 
** Just remove the attributes any place they are used.
 
** Just remove the attributes any place they are used.
 
** see this commit: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=54b956b903607
 
** see this commit: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=54b956b903607
Line 12: Line 13:
 
* arch/arm/include/asm/hardware/gic.h was moved to include/linux/irqchip/arm-gic.h
 
* arch/arm/include/asm/hardware/gic.h was moved to include/linux/irqchip/arm-gic.h
 
** change #include <asm/hardware/gic.h> to #include <linux/irqchip/arm-gic.h>
 
** change #include <asm/hardware/gic.h> to #include <linux/irqchip/arm-gic.h>
 +
----
 +
* Remove MSM_ prefix from SSBI drivers
 +
** impacts config options, file names, function names, types, etc
 +
** Files are in drivers/, drivers/mfd/, drivers/ssbi/, include/linux/
 +
*** s/msm_ssbi_/ssbi_/g
 +
*** s/MSM_SSBI_/SSBI_/g
 +
** see this commmit: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ce44bf5b5544c

Latest revision as of 22:50, 15 July 2013

Here are some issues you may run into when porting something from 3.4 to 3.10:


  • a whole set of __dev... macros are no longer used or defined
    • Here is the list: __devinit, __devinitdata, __devinitconst, __devexit, __devexitdata, __devexitconst
    • background: These attributes were used on certain driver functions and data declarations, putting them in a separate section that could be discarded under certain circumstances. This functionality is no longer relevant, and the macros were removed in version 3.8 of the kernel. The macros should no longer be used.
    • Just remove the attributes any place they are used.
    • see this commit: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=54b956b903607

  • sysdev.h is gone, along with all it declared:
    • struct sys_device, struct sysdev_attribute

  • arch/arm/include/asm/hardware/gic.h was moved to include/linux/irqchip/arm-gic.h
    • change #include <asm/hardware/gic.h> to #include <linux/irqchip/arm-gic.h>