<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://elinux.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://elinux.org/api.php?action=feedcontributions&amp;user=Banistpw&amp;feedformat=atom</id>
		<title>eLinux.org - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://elinux.org/api.php?action=feedcontributions&amp;user=Banistpw&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://elinux.org/Special:Contributions/Banistpw"/>
		<updated>2013-06-19T14:14:07Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.22alpha</generator>

	<entry>
		<id>http://elinux.org/ECE597_Project_Network_based_OGG_player</id>
		<title>ECE597 Project Network based OGG player</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE597_Project_Network_based_OGG_player"/>
				<updated>2010-05-18T06:00:05Z</updated>
		
		<summary type="html">&lt;p&gt;Banistpw: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE597]]&lt;br /&gt;
&lt;br /&gt;
This project is part of the ECE597 32-bit Embedded Linux class at Rose-Hulman Institute of Technology in Terre Haute, IN.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to have the Beagleboard act as a network based mp3 player. The Beagle will be programmed using a custom, protocol for transferring files from a network based server (x86 pc) to a Beagle. Speakers will be attached to the Beagle, where the file will be played back. Possible extensions are a LCD for displaying id3 tag information, and buttons for user interaction (next track, previous track, etc.) on the GPIO interface. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
'''Parts'''&lt;br /&gt;
&lt;br /&gt;
1 - C4 BeagleBoard&lt;br /&gt;
&lt;br /&gt;
1 - .1” (100 thou) header &lt;br /&gt;
&lt;br /&gt;
1 - LCD Display: NHD-C0216Ciz-FS-FBW-3V3&lt;br /&gt;
&lt;br /&gt;
1 - Logic Level Shifter: BOB-08745&lt;br /&gt;
&lt;br /&gt;
1 - 3.3 V Voltage Regulator: LT1086 CT&lt;br /&gt;
&lt;br /&gt;
2 – 10uF Capacitors&lt;br /&gt;
&lt;br /&gt;
3 – 1uF Capacitors&lt;br /&gt;
&lt;br /&gt;
1 – 1kΩ Resistor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''C4 Beagle Expansion'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://beagle.s3.amazonaws.com/design/Beagle_SRM_C3_0_0.pdf BeagleBoard datasheet (page 94): ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to use the expansion header on the BeagleBoard, a .100'' header was soldered onto J3.  The useful pins for this project are noted below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pin 1 – 1.8V&lt;br /&gt;
&lt;br /&gt;
Pin 2 – 5V&lt;br /&gt;
&lt;br /&gt;
Pin 23 - SDA&lt;br /&gt;
&lt;br /&gt;
Pin 24 - SCL&lt;br /&gt;
&lt;br /&gt;
Pin 27 – GND&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Making I2C2 work on the BeagleBoard can be a bit tricky. Take a look at [[Interfacing_with_I2C_Devices#Beagleboard_I2C2_Enable]] for some tips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''LCD Display'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.newhavendisplay.com/specs/NHD-C0216CiZ-FSW-FBW-3V3.pdf LCD Datasheet]&lt;br /&gt;
&lt;br /&gt;
[http://www.newhavendisplay.com/app_notes/ST7032.pdf Complete Display Datasheet]&lt;br /&gt;
&lt;br /&gt;
[http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&amp;amp;keywords=NHD-C0216CIZ-FSW-FBW-3V3-ND Purchase]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pin 1 – RST&lt;br /&gt;
&lt;br /&gt;
Pin 2 – SCL&lt;br /&gt;
&lt;br /&gt;
Pin 3 – SDA&lt;br /&gt;
&lt;br /&gt;
Pin 4 – Vss&lt;br /&gt;
&lt;br /&gt;
Pin 5 – Vdd&lt;br /&gt;
&lt;br /&gt;
Pin 6 – Vout&lt;br /&gt;
&lt;br /&gt;
Pin 7 – C1+&lt;br /&gt;
&lt;br /&gt;
Pin 8 – C1-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The 2 capacitors should have a value of 1 uF. The 2 pull-up resistors will not be necessary due to the pull-up resistors in the logic level shifters (see below). The slave address of the I2C interface protocol is 0x7c. Pin 1 will be tied high, pins 2 and 3 are the SCL, SDA pins respectively, and will therefore go through the logic level shifter below. Pin 4 will be tied to ground. Pin 5 will be tied to the 3.3V. Pin 6 will have a 1 uF capacitor tied to pin 5. Pin 7 will have a 1 uF capacitor tied to pin 8.  Consult the datasheet for further information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Logic Level Shifter'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.sparkfun.com/datasheets/BreakoutBoards/Level-Converter-v10.pdf Schematic]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The 1.8V supplied from the Beagle we be connected to the LV pin. The HV side will be powered with 3.3v from the voltage regulator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3.3V Voltage Regulator'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.datasheetcatalog.org/datasheet/lineartechnology/1086ffs.pdf Datasheet]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Testing Description'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Initially the level shifter and lcd display were tested using an arduino as we already had working I2C code for the AVR.  Once the LCD initilization pattern and was functioning correctly the circuit was then rewired to accommodate the 1.8V of the BeagleBoard. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the ECE597 lab kit, we were provided a USB-&amp;gt;5V adapter for powering the beagle.  However there appears to be an issue with newer kernels drawing too much power to actually run the beagle off of USB.  The 5V pin on J3 was only outputting 3.9V. In order properly power the Beagle, a wall-wart needs to be used; which caused the 5V pin on J3 to be a steady 5.1v.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally a 1uF capacitor was tied to the 1.8V supplied by the BeagleBoard expansion pin 1 to ensure that in peak power demand, the pin level shifter would have a more reliable power supply. With everything in place the code and circuit were tested. However it was observed that there was not consistent data transmission between the beagle and the LCD.  The I2C bus would sometimes report Remote I/O errors.  The the i2c level shifter was tested at the new voltage on an oscilloscope and using a 1.8v 400khz (same frequency as the i2c bus) square wave created by a function generator.  The behavior was not quite as would be expected. There bus was not reliably reaching 3.3V on the output of the level shifter, and the waves were not square.  The output looked more like a charging capacitor.  As speed is not a issue in our system, our solution was to reduce the clock frequency of the i2c bus from 400khz to 50khz.  This adjustment produced reliable results, which allowed the correct and reliable communication with the LCD. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a few command line tests which can be performed in order to verify whether or not I2C is working properly, [http://www.lm-sensors.org/wiki/man/i2cdetect i2cdetect]and  &lt;br /&gt;
[http://markmail.org/message/7dr7wmqqba7owhml output].&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
===Server Side===&lt;br /&gt;
The server is currently a Ubuntu Linux virtual machine. It is running [http://www.icecast.org/ Icecast] as a streaming server. Icecast streams audio to listeners, and is compatible with Nullsoft's Shoutcast.&lt;br /&gt;
&lt;br /&gt;
The server is also running [http://www.icecast.org/ices.php IceS version 2] in playlist mode to provide Icecast with music content. IceS can either read audio data from disk or sample live audio from a sound card and encode it on the fly. Version 2 of IceS has been modified to not allow MP3 files due to licensing issues with the MP3 format. Instead, the server streams a playlist of Ogg Vorbis music files. Ogg Vorbis is an audio compression format. It is roughly comparable to other formats used to store and play digital music, such as MP3, VQF, AAC, and other digital audio formats. It is different from these other formats because it is completely free, open, and unpatented.&lt;br /&gt;
&lt;br /&gt;
To change format of the MP3 files to Ogg, use this command, which does so by dumping the binary into the Ogg encoder:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 $mpg321 input.mp3 -w - | oggenc -o output.ogg -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the ID3 song information tags aren't automatically transitioned from the mp3 using this method. Use the vorbiscomment command to add tags to the file. At least the ARTIST and TITLE should be added for our project. Other tags defined by the standard can be found [http://xiph.org/ogg/vorbis/doc/v-comment.html here].&lt;br /&gt;
&lt;br /&gt;
===Client Side===&lt;br /&gt;
The client, running on the Beagle, uses mplayer and perl primarily to interface with the Icecast server. mplayer can take a single argument that is a network address to attach to a network stream. When attached to a network stream, mplayer will output all of the metadata received from the current song as reported by Icecast. The output of mplayer is piped to perl expressions which check over it using regular expressions. The an match for Artist or Title is found, it calls the hardware access code.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://beagle.s3.amazonaws.com/design/Beagle_SRM_C3_0_0.pdf BeagleBoard datasheet]&lt;br /&gt;
&lt;br /&gt;
[https://patchwork.kernel.org/patch/8322/ Kernel Patch for I2C]&lt;br /&gt;
&lt;br /&gt;
[http://groups.google.com/group/beagleboard/browse_thread/thread/a6c42ef56c6a2da2/1608e6c0f0207a8d?lnk=raot Additional BeagleBoard I2C help]&lt;br /&gt;
&lt;br /&gt;
[http://elinux.org/BeagleBoardPinMux BeagleBoard U-Boot and Kernel Changes to Enable I2C2]&lt;br /&gt;
&lt;br /&gt;
[http://groups.google.com/group/beagleboard/msg/860de7e687539077 Enabling I2C2] &lt;br /&gt;
&lt;br /&gt;
[http://elinux.org/BeagleBoardPWM Latest Kernel Adjustments for I2C2]&lt;br /&gt;
&lt;br /&gt;
[http://www.mail-archive.com/linux-omap@vger.kernel.org/msg02323.html Additional Hints on I2C2]&lt;br /&gt;
&lt;br /&gt;
[http://www.newhavendisplay.com/specs/NHD-C0216CiZ-FSW-FBW-3V3.pdf LCD Datasheet]&lt;br /&gt;
&lt;br /&gt;
[http://www.newhavendisplay.com/app_notes/ST7032.pdf Full LCD Datasheet]&lt;br /&gt;
&lt;br /&gt;
[http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&amp;amp;keywords=NHD-C0216CIZ-FSW-FBW-3V3-ND Buy the LCD]&lt;br /&gt;
&lt;br /&gt;
[http://www.sparkfun.com/datasheets/BreakoutBoards/Level-Converter-v10.pdf Logic Level Schematic]&lt;br /&gt;
&lt;br /&gt;
[http://www.sparkfun.com/commerce/product_info.php?products_id=8745 Purchase Level Shifter]&lt;br /&gt;
&lt;br /&gt;
[http://www.datasheetcatalog.org/datasheet/lineartechnology/1086ffs.pdf Voltage Regulator Datasheet]&lt;br /&gt;
&lt;br /&gt;
[http://www.makingthings.com/documentation/how-to/scale-a-5v-signal-to-3.3v Voltage Divider Info]&lt;br /&gt;
&lt;br /&gt;
[http://www.lm-sensors.org/wiki/man/i2cdetect i2cdtect Information]&lt;br /&gt;
&lt;br /&gt;
[http://markmail.org/message/7dr7wmqqba7owhml Results of i2cdetect]&lt;/div&gt;</summary>
		<author><name>Banistpw</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE597_Project_Network_based_OGG_player</id>
		<title>ECE597 Project Network based OGG player</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE597_Project_Network_based_OGG_player"/>
				<updated>2010-05-18T05:30:21Z</updated>
		
		<summary type="html">&lt;p&gt;Banistpw: moved ECE597 Project Network based MP3 player to ECE597 Project Network based OGG player&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE597]]&lt;br /&gt;
&lt;br /&gt;
This project is part of the ECE597 32-bit Embedded Linux class at Rose-Hulman Institute of Technology in Terre Haute, IN.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to have the Beagleboard act as a network based mp3 player. The Beagle will be programmed using a custom, protocol for transferring files from a network based server (x86 pc) to a Beagle. Speakers will be attached to the Beagle, where the file will be played back. Possible extensions are a LCD for displaying id3 tag information, and buttons for user interaction (next track, previous track, etc.) on the GPIO interface. &lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
'''Parts'''&lt;br /&gt;
&lt;br /&gt;
1 - C4 BeagleBoard&lt;br /&gt;
&lt;br /&gt;
1 - .1” (100 thou) header &lt;br /&gt;
&lt;br /&gt;
1 - LCD Display: NHD-C0216Ciz-FS-FBW-3V3&lt;br /&gt;
&lt;br /&gt;
1 - Logic Level Shifter: BOB-08745&lt;br /&gt;
&lt;br /&gt;
1 - 3.3 V Voltage Regulator: LT1086 CT&lt;br /&gt;
&lt;br /&gt;
2 – 10uF Capacitors&lt;br /&gt;
&lt;br /&gt;
3 – 1uF Capacitors&lt;br /&gt;
&lt;br /&gt;
1 – 1kΩ Resistor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''C4 Beagle Expansion'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://beagle.s3.amazonaws.com/design/Beagle_SRM_C3_0_0.pdf BeagleBoard datasheet (page 94): ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to use the expansion header on the BeagleBoard, a .100'' header was soldered onto J3.  The useful pins for this project are noted below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pin 1 – 1.8V&lt;br /&gt;
&lt;br /&gt;
Pin 2 – 5V&lt;br /&gt;
&lt;br /&gt;
Pin 23 - SDA&lt;br /&gt;
&lt;br /&gt;
Pin 24 - SCL&lt;br /&gt;
&lt;br /&gt;
Pin 27 – GND&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Making I2C2 work on the BeagleBoard can be a bit tricky. Take a look at [[Interfacing_with_I2C_Devices#Beagleboard_I2C2_Enable]] for some tips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''LCD Display'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.newhavendisplay.com/specs/NHD-C0216CiZ-FSW-FBW-3V3.pdf LCD Datasheet]&lt;br /&gt;
&lt;br /&gt;
[http://www.newhavendisplay.com/app_notes/ST7032.pdf Complete Display Datasheet]&lt;br /&gt;
&lt;br /&gt;
[http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&amp;amp;keywords=NHD-C0216CIZ-FSW-FBW-3V3-ND Purchase]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pin 1 – RST&lt;br /&gt;
&lt;br /&gt;
Pin 2 – SCL&lt;br /&gt;
&lt;br /&gt;
Pin 3 – SDA&lt;br /&gt;
&lt;br /&gt;
Pin 4 – Vss&lt;br /&gt;
&lt;br /&gt;
Pin 5 – Vdd&lt;br /&gt;
&lt;br /&gt;
Pin 6 – Vout&lt;br /&gt;
&lt;br /&gt;
Pin 7 – C1+&lt;br /&gt;
&lt;br /&gt;
Pin 8 – C1-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The 2 capacitors should have a value of 1 uF. The 2 pull-up resistors will not be necessary due to the pull-up resistors in the logic level shifters (see below). The slave address of the I2C interface protocol is 0x7c. Pin 1 will be tied high, pins 2 and 3 are the SCL, SDA pins respectively, and will therefore go through the logic level shifter below. Pin 4 will be tied to ground. Pin 5 will be tied to the 3.3V. Pin 6 will have a 1 uF capacitor tied to pin 5. Pin 7 will have a 1 uF capacitor tied to pin 8.  Consult the datasheet for further information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Logic Level Shifter'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.sparkfun.com/datasheets/BreakoutBoards/Level-Converter-v10.pdf Schematic]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The 1.8V supplied from the Beagle we be connected to the LV pin. The HV side will be powered with 3.3v from the voltage regulator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3.3V Voltage Regulator'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.datasheetcatalog.org/datasheet/lineartechnology/1086ffs.pdf Datasheet]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Testing Description'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Initially the level shifter and lcd display were tested using an arduino as we already had working I2C code for the AVR.  Once the LCD initilization pattern and was functioning correctly the circuit was then rewired to accommodate the 1.8V of the BeagleBoard. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the ECE597 lab kit, we were provided a USB-&amp;gt;5V adapter for powering the beagle.  However there appears to be an issue with newer kernels drawing too much power to actually run the beagle off of USB.  The 5V pin on J3 was only outputting 3.9V. In order properly power the Beagle, a wall-wart needs to be used; which caused the 5V pin on J3 to be a steady 5.1v.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally a 1uF capacitor was tied to the 1.8V supplied by the BeagleBoard expansion pin 1 to ensure that in peak power demand, the pin level shifter would have a more reliable power supply. With everything in place the code and circuit were tested. However it was observed that there was not consistent data transmission between the beagle and the LCD.  The I2C bus would sometimes report Remote I/O errors.  The the i2c level shifter was tested at the new voltage on an oscilloscope and using a 1.8v 400khz (same frequency as the i2c bus) square wave created by a function generator.  The behavior was not quite as would be expected. There bus was not reliably reaching 3.3V on the output of the level shifter, and the waves were not square.  The output looked more like a charging capacitor.  As speed is not a issue in our system, our solution was to reduce the clock frequency of the i2c bus from 400khz to 50khz.  This adjustment produced reliable results, which allowed the correct and reliable communication with the LCD. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a few command line tests which can be performed in order to verify whether or not I2C is working properly, [http://www.lm-sensors.org/wiki/man/i2cdetect i2cdetect]and  &lt;br /&gt;
[http://markmail.org/message/7dr7wmqqba7owhml output].&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://beagle.s3.amazonaws.com/design/Beagle_SRM_C3_0_0.pdf BeagleBoard datasheet]&lt;br /&gt;
&lt;br /&gt;
[https://patchwork.kernel.org/patch/8322/ Kernel Patch for I2C]&lt;br /&gt;
&lt;br /&gt;
[http://groups.google.com/group/beagleboard/browse_thread/thread/a6c42ef56c6a2da2/1608e6c0f0207a8d?lnk=raot Additional BeagleBoard I2C help]&lt;br /&gt;
&lt;br /&gt;
[http://elinux.org/BeagleBoardPinMux BeagleBoard U-Boot and Kernel Changes to Enable I2C2]&lt;br /&gt;
&lt;br /&gt;
[http://groups.google.com/group/beagleboard/msg/860de7e687539077 Enabling I2C2] &lt;br /&gt;
&lt;br /&gt;
[http://elinux.org/BeagleBoardPWM Latest Kernel Adjustments for I2C2]&lt;br /&gt;
&lt;br /&gt;
[http://www.mail-archive.com/linux-omap@vger.kernel.org/msg02323.html Additional Hints on I2C2]&lt;br /&gt;
&lt;br /&gt;
[http://www.newhavendisplay.com/specs/NHD-C0216CiZ-FSW-FBW-3V3.pdf LCD Datasheet]&lt;br /&gt;
&lt;br /&gt;
[http://www.newhavendisplay.com/app_notes/ST7032.pdf Full LCD Datasheet]&lt;br /&gt;
&lt;br /&gt;
[http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&amp;amp;keywords=NHD-C0216CIZ-FSW-FBW-3V3-ND Buy the LCD]&lt;br /&gt;
&lt;br /&gt;
[http://www.sparkfun.com/datasheets/BreakoutBoards/Level-Converter-v10.pdf Logic Level Schematic]&lt;br /&gt;
&lt;br /&gt;
[http://www.sparkfun.com/commerce/product_info.php?products_id=8745 Purchase Level Shifter]&lt;br /&gt;
&lt;br /&gt;
[http://www.datasheetcatalog.org/datasheet/lineartechnology/1086ffs.pdf Voltage Regulator Datasheet]&lt;br /&gt;
&lt;br /&gt;
[http://www.makingthings.com/documentation/how-to/scale-a-5v-signal-to-3.3v Voltage Divider Info]&lt;br /&gt;
&lt;br /&gt;
[http://www.lm-sensors.org/wiki/man/i2cdetect i2cdtect Information]&lt;br /&gt;
&lt;br /&gt;
[http://markmail.org/message/7dr7wmqqba7owhml Results of i2cdetect]&lt;/div&gt;</summary>
		<author><name>Banistpw</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE597_Project_Network_based_MP3_player</id>
		<title>ECE597 Project Network based MP3 player</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE597_Project_Network_based_MP3_player"/>
				<updated>2010-05-18T05:30:21Z</updated>
		
		<summary type="html">&lt;p&gt;Banistpw: moved ECE597 Project Network based MP3 player to ECE597 Project Network based OGG player&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[ECE597 Project Network based OGG player]]&lt;/div&gt;</summary>
		<author><name>Banistpw</name></author>	</entry>

	<entry>
		<id>http://elinux.org/User:Banistpw</id>
		<title>User:Banistpw</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/User:Banistpw"/>
				<updated>2010-03-27T03:39:56Z</updated>
		
		<summary type="html">&lt;p&gt;Banistpw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Paul Banister&lt;br /&gt;
&lt;br /&gt;
Senior CS/SE&lt;br /&gt;
&lt;br /&gt;
Very familiar but no expert with both Linux and C/C++. I hope to contribute good coding practices and design to a team more familiar with lower level background.&lt;br /&gt;
&lt;br /&gt;
Working on the [[ECE597: MythTV/DSP Pico Projector]] project for ECE597.&lt;br /&gt;
&lt;br /&gt;
[[Category:ECE597]]&lt;br /&gt;
&lt;br /&gt;
== Listings ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Number&lt;br /&gt;
! Page&lt;br /&gt;
! Caption&lt;br /&gt;
! Listing&lt;br /&gt;
|-&lt;br /&gt;
| 2-4&lt;br /&gt;
| 2-21&lt;br /&gt;
| Hello, World Wmbedded Style&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int bss_var;        /* Uninitialized global variable */&lt;br /&gt;
&lt;br /&gt;
int data_var = 1;   /* Initialized global variable */&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  void *stack_var;            /* Local variable on the stack */&lt;br /&gt;
  &lt;br /&gt;
  stack_var = (void *)main;   /* Don't let the compiler */&lt;br /&gt;
                              /* optimize it out */&lt;br /&gt;
&lt;br /&gt;
  printf(&amp;quot;Hello, World! Main is executing at %p\n&amp;quot;, stack_var);&lt;br /&gt;
  printf(&amp;quot;This address (%p) is in our stack frame\n&amp;quot;, &amp;amp;stack_var);&lt;br /&gt;
&lt;br /&gt;
  /* bss section contains uninitialized data */&lt;br /&gt;
  printf(&amp;quot;This address (%p) is in our bss section\n&amp;quot;, &amp;amp;bss_var);&lt;br /&gt;
&lt;br /&gt;
  /* data section contains initializated data */&lt;br /&gt;
  printf(&amp;quot;This address (%p) is in our data section\n&amp;quot;, &amp;amp;data_var);&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-3&lt;br /&gt;
| 4-15&lt;br /&gt;
| Kernel Subdirectory&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe$ ls -l linux-omap-2.6/arch/arm/mach-ixp4xx/&lt;br /&gt;
total 212&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1977 2010-03-11 23:14 avila-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  4658 2010-03-11 23:14 avila-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 12029 2010-03-11 23:14 common.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 12910 2010-03-11 23:14 common-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1599 2010-03-11 23:14 coyote-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  3452 2010-03-11 23:14 coyote-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2034 2010-03-11 23:14 dsmg600-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  7394 2010-03-11 23:14 dsmg600-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1748 2010-03-11 23:14 fsg-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  6795 2010-03-11 23:14 fsg-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1490 2010-03-11 23:14 gateway7001-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2646 2010-03-11 23:14 gateway7001-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 12465 2010-03-11 23:14 goramo_mlr.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2397 2010-03-11 23:14 gtwx5715-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  4738 2010-03-11 23:14 gtwx5715-setup.c&lt;br /&gt;
drwxrwx--x 3 brian elinux  4096 2010-03-11 23:14 include&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1892 2010-03-11 23:14 ixdp425-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  7610 2010-03-11 23:14 ixdp425-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1354 2010-03-11 23:14 ixdpg425-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 21565 2010-03-11 23:14 ixp4xx_npe.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  9350 2010-03-11 23:14 ixp4xx_qmgr.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  6431 2010-03-11 23:14 Kconfig&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1319 2010-03-11 23:14 Makefile&lt;br /&gt;
-rwxrwx--x 1 brian elinux    57 2010-03-11 23:14 Makefile.boot&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1869 2010-03-11 23:14 nas100d-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  8127 2010-03-11 23:14 nas100d-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1666 2010-03-11 23:14 nslu2-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  7147 2010-03-11 23:14 nslu2-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1468 2010-03-11 23:14 wg302v2-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2585 2010-03-11 23:14 wg302v2-setup.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-4&lt;br /&gt;
| 4-17&lt;br /&gt;
| USB in Linux 2.6 .config&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe/linux-omap-2.6$ cat .config | grep USB&lt;br /&gt;
# CONFIG_USB_ZD1201 is not set&lt;br /&gt;
# USB Network Adapters&lt;br /&gt;
# CONFIG_USB_CATC is not set&lt;br /&gt;
# CONFIG_USB_KAWETH is not set&lt;br /&gt;
# CONFIG_USB_PEGASUS is not set&lt;br /&gt;
# CONFIG_USB_RTL8150 is not set&lt;br /&gt;
# CONFIG_USB_USBNET is not set&lt;br /&gt;
# CONFIG_I2C_TINY_USB is not set&lt;br /&gt;
CONFIG_USB_SUPPORT=y&lt;br /&gt;
CONFIG_USB_ARCH_HAS_HCD=y&lt;br /&gt;
CONFIG_USB_ARCH_HAS_OHCI=y&lt;br /&gt;
CONFIG_USB_ARCH_HAS_EHCI=y&lt;br /&gt;
CONFIG_USB=y&lt;br /&gt;
# CONFIG_USB_DEBUG is not set&lt;br /&gt;
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set&lt;br /&gt;
# Miscellaneous USB options&lt;br /&gt;
CONFIG_USB_DEVICEFS=y&lt;br /&gt;
CONFIG_USB_DEVICE_CLASS=y&lt;br /&gt;
# CONFIG_USB_DYNAMIC_MINORS is not set&lt;br /&gt;
CONFIG_USB_SUSPEND=y&lt;br /&gt;
CONFIG_USB_OTG=y&lt;br /&gt;
# CONFIG_USB_OTG_WHITELIST is not set&lt;br /&gt;
# CONFIG_USB_OTG_BLACKLIST_HUB is not set&lt;br /&gt;
CONFIG_USB_MON=y&lt;br /&gt;
# CONFIG_USB_WUSB is not set&lt;br /&gt;
# CONFIG_USB_WUSB_CBAF is not set&lt;br /&gt;
# USB Host Controller Drivers&lt;br /&gt;
# CONFIG_USB_C67X00_HCD is not set&lt;br /&gt;
CONFIG_USB_EHCI_HCD=y&lt;br /&gt;
CONFIG_USB_EHCI_ROOT_HUB_TT=y&lt;br /&gt;
# CONFIG_USB_EHCI_TT_NEWSCHED is not set&lt;br /&gt;
# CONFIG_USB_OXU210HP_HCD is not set&lt;br /&gt;
# CONFIG_USB_ISP116X_HCD is not set&lt;br /&gt;
# CONFIG_USB_ISP1760_HCD is not set&lt;br /&gt;
# CONFIG_USB_ISP1362_HCD is not set&lt;br /&gt;
# CONFIG_USB_OHCI_HCD is not set&lt;br /&gt;
# CONFIG_USB_SL811_HCD is not set&lt;br /&gt;
# CONFIG_USB_R8A66597_HCD is not set&lt;br /&gt;
# CONFIG_USB_HWA_HCD is not set&lt;br /&gt;
CONFIG_USB_MUSB_HDRC=y&lt;br /&gt;
CONFIG_USB_MUSB_SOC=y&lt;br /&gt;
# OMAP 343x high speed USB support&lt;br /&gt;
# CONFIG_USB_MUSB_HOST is not set&lt;br /&gt;
# CONFIG_USB_MUSB_PERIPHERAL is not set&lt;br /&gt;
CONFIG_USB_MUSB_OTG=y&lt;br /&gt;
CONFIG_USB_GADGET_MUSB_HDRC=y&lt;br /&gt;
CONFIG_USB_MUSB_HDRC_HCD=y&lt;br /&gt;
# CONFIG_MUSB_PIO_ONLY is not set&lt;br /&gt;
CONFIG_USB_INVENTRA_DMA=y&lt;br /&gt;
# CONFIG_USB_TI_CPPI_DMA is not set&lt;br /&gt;
# CONFIG_USB_MUSB_DEBUG is not set&lt;br /&gt;
# USB Device Class drivers&lt;br /&gt;
# CONFIG_USB_ACM is not set&lt;br /&gt;
# CONFIG_USB_PRINTER is not set&lt;br /&gt;
# CONFIG_USB_WDM is not set&lt;br /&gt;
# CONFIG_USB_TMC is not set&lt;br /&gt;
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may&lt;br /&gt;
# also be needed; see USB_STORAGE Help for more info&lt;br /&gt;
# CONFIG_USB_STORAGE is not set&lt;br /&gt;
# CONFIG_USB_LIBUSUAL is not set&lt;br /&gt;
# USB Imaging devices&lt;br /&gt;
# CONFIG_USB_MDC800 is not set&lt;br /&gt;
# CONFIG_USB_MICROTEK is not set&lt;br /&gt;
# USB port drivers&lt;br /&gt;
# CONFIG_USB_SERIAL is not set&lt;br /&gt;
# USB Miscellaneous drivers&lt;br /&gt;
# CONFIG_USB_EMI62 is not set&lt;br /&gt;
# CONFIG_USB_EMI26 is not set&lt;br /&gt;
# CONFIG_USB_ADUTUX is not set&lt;br /&gt;
# CONFIG_USB_SEVSEG is not set&lt;br /&gt;
# CONFIG_USB_RIO500 is not set&lt;br /&gt;
# CONFIG_USB_LEGOTOWER is not set&lt;br /&gt;
# CONFIG_USB_LCD is not set&lt;br /&gt;
# CONFIG_USB_LED is not set&lt;br /&gt;
# CONFIG_USB_CYPRESS_CY7C63 is not set&lt;br /&gt;
# CONFIG_USB_CYTHERM is not set&lt;br /&gt;
# CONFIG_USB_IDMOUSE is not set&lt;br /&gt;
# CONFIG_USB_FTDI_ELAN is not set&lt;br /&gt;
# CONFIG_USB_APPLEDISPLAY is not set&lt;br /&gt;
# CONFIG_USB_SISUSBVGA is not set&lt;br /&gt;
# CONFIG_USB_LD is not set&lt;br /&gt;
# CONFIG_USB_TRANCEVIBRATOR is not set&lt;br /&gt;
# CONFIG_USB_IOWARRIOR is not set&lt;br /&gt;
# CONFIG_USB_TEST is not set&lt;br /&gt;
# CONFIG_USB_ISIGHTFW is not set&lt;br /&gt;
CONFIG_USB_GADGET=y&lt;br /&gt;
# CONFIG_USB_GADGET_DEBUG is not set&lt;br /&gt;
# CONFIG_USB_GADGET_DEBUG_FILES is not set&lt;br /&gt;
CONFIG_USB_GADGET_VBUS_DRAW=2&lt;br /&gt;
CONFIG_USB_GADGET_SELECTED=y&lt;br /&gt;
# CONFIG_USB_GADGET_AT91 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_ATMEL_USBA is not set&lt;br /&gt;
# CONFIG_USB_GADGET_FSL_USB2 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_LH7A40X is not set&lt;br /&gt;
# CONFIG_USB_GADGET_OMAP is not set&lt;br /&gt;
# CONFIG_USB_GADGET_PXA25X is not set&lt;br /&gt;
# CONFIG_USB_GADGET_R8A66597 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_PXA27X is not set&lt;br /&gt;
# CONFIG_USB_GADGET_S3C_HSOTG is not set&lt;br /&gt;
# CONFIG_USB_GADGET_IMX is not set&lt;br /&gt;
# CONFIG_USB_GADGET_S3C2410 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_M66592 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_AMD5536UDC is not set&lt;br /&gt;
# CONFIG_USB_GADGET_FSL_QE is not set&lt;br /&gt;
# CONFIG_USB_GADGET_CI13XXX is not set&lt;br /&gt;
# CONFIG_USB_GADGET_NET2280 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_GOKU is not set&lt;br /&gt;
# CONFIG_USB_GADGET_LANGWELL is not set&lt;br /&gt;
# CONFIG_USB_GADGET_DUMMY_HCD is not set&lt;br /&gt;
CONFIG_USB_GADGET_DUALSPEED=y&lt;br /&gt;
# CONFIG_USB_ZERO is not set&lt;br /&gt;
# CONFIG_USB_AUDIO is not set&lt;br /&gt;
CONFIG_USB_ETH=m&lt;br /&gt;
CONFIG_USB_ETH_RNDIS=y&lt;br /&gt;
# CONFIG_USB_ETH_EEM is not set&lt;br /&gt;
# CONFIG_USB_GADGETFS is not set&lt;br /&gt;
# CONFIG_USB_FILE_STORAGE is not set&lt;br /&gt;
# CONFIG_USB_MASS_STORAGE is not set&lt;br /&gt;
# CONFIG_USB_G_SERIAL is not set&lt;br /&gt;
# CONFIG_USB_MIDI_GADGET is not set&lt;br /&gt;
# CONFIG_USB_G_PRINTER is not set&lt;br /&gt;
# CONFIG_USB_CDC_COMPOSITE is not set&lt;br /&gt;
# CONFIG_USB_G_NOKIA is not set&lt;br /&gt;
# CONFIG_USB_G_MULTI is not set&lt;br /&gt;
CONFIG_USB_OTG_UTILS=y&lt;br /&gt;
# CONFIG_USB_GPIO_VBUS is not set&lt;br /&gt;
# CONFIG_USB_ULPI is not set&lt;br /&gt;
CONFIG_TWL4030_USB=y&lt;br /&gt;
# CONFIG_NOP_USB_XCEIV is not set&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| 4-21&lt;br /&gt;
| Linux autoconf.h&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe/linux-omap-2.6$ cat include/generated/autoconf.h | grep CONFIG_USB&lt;br /&gt;
#define CONFIG_USB_MUSB_HDRC 1&lt;br /&gt;
#define CONFIG_USB_ETH_RNDIS 1&lt;br /&gt;
#define CONFIG_USB_GADGET_MUSB_HDRC 1&lt;br /&gt;
#define CONFIG_USB_ARCH_HAS_EHCI 1&lt;br /&gt;
#define CONFIG_USB_GADGET_VBUS_DRAW 2&lt;br /&gt;
#define CONFIG_USB_OTG_UTILS 1&lt;br /&gt;
#define CONFIG_USB_ARCH_HAS_OHCI 1&lt;br /&gt;
#define CONFIG_USB_ETH_MODULE 1&lt;br /&gt;
#define CONFIG_USB_MUSB_HDRC_HCD 1&lt;br /&gt;
#define CONFIG_USB_MON 1&lt;br /&gt;
#define CONFIG_USB_OTG 1&lt;br /&gt;
#define CONFIG_USB_EHCI_ROOT_HUB_TT 1&lt;br /&gt;
#define CONFIG_USB_SUSPEND 1&lt;br /&gt;
#define CONFIG_USB_SUPPORT 1&lt;br /&gt;
#define CONFIG_USB_EHCI_HCD 1&lt;br /&gt;
#define CONFIG_USB_DEVICEFS 1&lt;br /&gt;
#define CONFIG_USB_GADGET_SELECTED 1&lt;br /&gt;
#define CONFIG_USB_MUSB_SOC 1&lt;br /&gt;
#define CONFIG_USB_MUSB_OTG 1&lt;br /&gt;
#define CONFIG_USB_DEVICE_CLASS 1&lt;br /&gt;
#define CONFIG_USB_ARCH_HAS_HCD 1&lt;br /&gt;
#define CONFIG_USB_INVENTRA_DMA 1&lt;br /&gt;
#define CONFIG_USB 1&lt;br /&gt;
#define CONFIG_USB_GADGET_DUALSPEED 1&lt;br /&gt;
#define CONFIG_USB_GADGET 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| 4-22&lt;br /&gt;
| Makefile targets&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe/linux-omap-2.6$ make ARCH=arm help&lt;br /&gt;
Cleaning targets:&lt;br /&gt;
  clean		  - Remove most generated files but keep the config and&lt;br /&gt;
                    enough build support to build external modules&lt;br /&gt;
  mrproper	  - Remove all generated files + config + various backup files&lt;br /&gt;
  distclean	  - mrproper + remove editor backup and patch files&lt;br /&gt;
&lt;br /&gt;
Configuration targets:&lt;br /&gt;
  config	  - Update current config utilising a line-oriented program&lt;br /&gt;
  menuconfig	  - Update current config utilising a menu based program&lt;br /&gt;
  xconfig	  - Update current config utilising a QT based front-end&lt;br /&gt;
  gconfig	  - Update current config utilising a GTK based front-end&lt;br /&gt;
  oldconfig	  - Update current config utilising a provided .config as base&lt;br /&gt;
  localmodconfig  - Update current config disabling modules not loaded&lt;br /&gt;
  localyesconfig  - Update current config converting local mods to core&lt;br /&gt;
  silentoldconfig - Same as oldconfig, but quietly, additionally update deps&lt;br /&gt;
  randconfig	  - New config with random answer to all options&lt;br /&gt;
  defconfig	  - New config with default answer to all options&lt;br /&gt;
  allmodconfig	  - New config selecting modules when possible&lt;br /&gt;
  allyesconfig	  - New config where all options are accepted with yes&lt;br /&gt;
  allnoconfig	  - New config where all options are answered with no&lt;br /&gt;
&lt;br /&gt;
Other generic targets:&lt;br /&gt;
  all		  - Build all targets marked with [*]&lt;br /&gt;
* vmlinux	  - Build the bare kernel&lt;br /&gt;
* modules	  - Build all modules&lt;br /&gt;
  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)&lt;br /&gt;
  firmware_install- Install all firmware to INSTALL_FW_PATH&lt;br /&gt;
                    (default: $(INSTALL_MOD_PATH)/lib/firmware)&lt;br /&gt;
  dir/            - Build all files in dir and below&lt;br /&gt;
  dir/file.[ois]  - Build specified target only&lt;br /&gt;
  dir/file.ko     - Build module including final link&lt;br /&gt;
  modules_prepare - Set up for building external modules&lt;br /&gt;
  tags/TAGS	  - Generate tags file for editors&lt;br /&gt;
  cscope	  - Generate cscope index&lt;br /&gt;
  kernelrelease	  - Output the release version string&lt;br /&gt;
  kernelversion	  - Output the version stored in Makefile&lt;br /&gt;
  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH&lt;br /&gt;
                    (default: /dump/hw/oe/linux-omap-2.6/usr)&lt;br /&gt;
&lt;br /&gt;
Static analysers&lt;br /&gt;
  checkstack      - Generate a list of stack hogs&lt;br /&gt;
  namespacecheck  - Name space analysis on compiled kernel&lt;br /&gt;
  versioncheck    - Sanity check on version.h usage&lt;br /&gt;
  includecheck    - Check for duplicate included header files&lt;br /&gt;
  export_report   - List the usages of all exported symbols&lt;br /&gt;
  headers_check   - Sanity check on exported headers&lt;br /&gt;
  headerdep       - Detect inclusion cycles in headers&lt;br /&gt;
&lt;br /&gt;
Kernel packaging:&lt;br /&gt;
  rpm-pkg         - Build both source and binary RPM kernel packages&lt;br /&gt;
  binrpm-pkg      - Build only the binary kernel package&lt;br /&gt;
  deb-pkg         - Build the kernel as an deb package&lt;br /&gt;
  tar-pkg         - Build the kernel as an uncompressed tarball&lt;br /&gt;
  targz-pkg       - Build the kernel as a gzip compressed tarball&lt;br /&gt;
  tarbz2-pkg      - Build the kernel as a bzip2 compressed tarball&lt;br /&gt;
&lt;br /&gt;
Documentation targets:&lt;br /&gt;
 Linux kernel internal documentation in different formats:&lt;br /&gt;
  htmldocs        - HTML&lt;br /&gt;
  pdfdocs         - PDF&lt;br /&gt;
  psdocs          - Postscript&lt;br /&gt;
  xmldocs         - XML DocBook&lt;br /&gt;
  mandocs         - man pages&lt;br /&gt;
  installmandocs  - install man pages generated by mandocs&lt;br /&gt;
  cleandocs       - clean all generated DocBook files&lt;br /&gt;
&lt;br /&gt;
Architecture specific targets (arm):&lt;br /&gt;
* zImage        - Compressed kernel image (arch/arm/boot/zImage)&lt;br /&gt;
  Image         - Uncompressed kernel image (arch/arm/boot/Image)&lt;br /&gt;
* xipImage      - XIP kernel image, if configured (arch/arm/boot/xipImage)&lt;br /&gt;
  uImage        - U-Boot wrapped zImage&lt;br /&gt;
  bootpImage    - Combined zImage and initial RAM disk&lt;br /&gt;
                  (supply initrd image via make variable INITRD=&amp;lt;path&amp;gt;)&lt;br /&gt;
  install       - Install uncompressed kernel&lt;br /&gt;
  zinstall      - Install compressed kernel&lt;br /&gt;
                  Install using (your) ~/bin/installkernel or&lt;br /&gt;
                  (distribution) /sbin/installkernel or&lt;br /&gt;
                  install to $(INSTALL_PATH) and run lilo&lt;br /&gt;
&lt;br /&gt;
  acs5k_defconfig          - Build for acs5k&lt;br /&gt;
  acs5k_tiny_defconfig     - Build for acs5k_tiny&lt;br /&gt;
  afeb9260_defconfig       - Build for afeb9260&lt;br /&gt;
  am200epdkit_defconfig    - Build for am200epdkit&lt;br /&gt;
  am3517_evm_defconfig     - Build for am3517_evm&lt;br /&gt;
  ams_delta_defconfig      - Build for ams_delta&lt;br /&gt;
  assabet_defconfig        - Build for assabet&lt;br /&gt;
  at572d940hfek_defconfig  - Build for at572d940hfek&lt;br /&gt;
  at91cap9adk_defconfig    - Build for at91cap9adk&lt;br /&gt;
  at91rm9200dk_defconfig   - Build for at91rm9200dk&lt;br /&gt;
  at91rm9200ek_defconfig   - Build for at91rm9200ek&lt;br /&gt;
  at91sam9260ek_defconfig  - Build for at91sam9260ek&lt;br /&gt;
  at91sam9261ek_defconfig  - Build for at91sam9261ek&lt;br /&gt;
  at91sam9263ek_defconfig  - Build for at91sam9263ek&lt;br /&gt;
  at91sam9g20ek_defconfig  - Build for at91sam9g20ek&lt;br /&gt;
  at91sam9rlek_defconfig   - Build for at91sam9rlek&lt;br /&gt;
  ateb9200_defconfig       - Build for ateb9200&lt;br /&gt;
  badge4_defconfig         - Build for badge4&lt;br /&gt;
  bcmring_defconfig        - Build for bcmring&lt;br /&gt;
  cam60_defconfig          - Build for cam60&lt;br /&gt;
  carmeva_defconfig        - Build for carmeva&lt;br /&gt;
  cerfcube_defconfig       - Build for cerfcube&lt;br /&gt;
  cm_t35_defconfig         - Build for cm_t35&lt;br /&gt;
  cm_x2xx_defconfig        - Build for cm_x2xx&lt;br /&gt;
  cm_x300_defconfig        - Build for cm_x300&lt;br /&gt;
  colibri_pxa270_defconfig - Build for colibri_pxa270&lt;br /&gt;
  colibri_pxa300_defconfig - Build for colibri_pxa300&lt;br /&gt;
  collie_defconfig         - Build for collie&lt;br /&gt;
  corgi_defconfig          - Build for corgi&lt;br /&gt;
  cpu9260_defconfig        - Build for cpu9260&lt;br /&gt;
  cpu9g20_defconfig        - Build for cpu9g20&lt;br /&gt;
  cpuat91_defconfig        - Build for cpuat91&lt;br /&gt;
  csb337_defconfig         - Build for csb337&lt;br /&gt;
  csb637_defconfig         - Build for csb637&lt;br /&gt;
  da8xx_omapl_defconfig    - Build for da8xx_omapl&lt;br /&gt;
  davinci_all_defconfig    - Build for davinci_all&lt;br /&gt;
  devkit8000_defconfig     - Build for devkit8000&lt;br /&gt;
  dove_defconfig           - Build for dove&lt;br /&gt;
  ebsa110_defconfig        - Build for ebsa110&lt;br /&gt;
  ecbat91_defconfig        - Build for ecbat91&lt;br /&gt;
  edb7211_defconfig        - Build for edb7211&lt;br /&gt;
  em_x270_defconfig        - Build for em_x270&lt;br /&gt;
  ep93xx_defconfig         - Build for ep93xx&lt;br /&gt;
  eseries_pxa_defconfig    - Build for eseries_pxa&lt;br /&gt;
  ezx_defconfig            - Build for ezx&lt;br /&gt;
  footbridge_defconfig     - Build for footbridge&lt;br /&gt;
  fortunet_defconfig       - Build for fortunet&lt;br /&gt;
  h3600_defconfig          - Build for h3600&lt;br /&gt;
  h5000_defconfig          - Build for h5000&lt;br /&gt;
  h7201_defconfig          - Build for h7201&lt;br /&gt;
  h7202_defconfig          - Build for h7202&lt;br /&gt;
  hackkit_defconfig        - Build for hackkit&lt;br /&gt;
  htcherald_defconfig      - Build for htcherald&lt;br /&gt;
  igep0020_defconfig       - Build for igep0020&lt;br /&gt;
  integrator_defconfig     - Build for integrator&lt;br /&gt;
  iop13xx_defconfig        - Build for iop13xx&lt;br /&gt;
  iop32x_defconfig         - Build for iop32x&lt;br /&gt;
  iop33x_defconfig         - Build for iop33x&lt;br /&gt;
  ixp2000_defconfig        - Build for ixp2000&lt;br /&gt;
  ixp23xx_defconfig        - Build for ixp23xx&lt;br /&gt;
  ixp4xx_defconfig         - Build for ixp4xx&lt;br /&gt;
  jornada720_defconfig     - Build for jornada720&lt;br /&gt;
  kafa_defconfig           - Build for kafa&lt;br /&gt;
  kb9202_defconfig         - Build for kb9202&lt;br /&gt;
  kirkwood_defconfig       - Build for kirkwood&lt;br /&gt;
  ks8695_defconfig         - Build for ks8695&lt;br /&gt;
  lart_defconfig           - Build for lart&lt;br /&gt;
  loki_defconfig           - Build for loki&lt;br /&gt;
  lpd270_defconfig         - Build for lpd270&lt;br /&gt;
  lpd7a400_defconfig       - Build for lpd7a400&lt;br /&gt;
  lpd7a404_defconfig       - Build for lpd7a404&lt;br /&gt;
  lubbock_defconfig        - Build for lubbock&lt;br /&gt;
  lusl7200_defconfig       - Build for lusl7200&lt;br /&gt;
  magician_defconfig       - Build for magician&lt;br /&gt;
  mainstone_defconfig      - Build for mainstone&lt;br /&gt;
  mini2440_defconfig       - Build for mini2440&lt;br /&gt;
  msm_defconfig            - Build for msm&lt;br /&gt;
  mv78xx0_defconfig        - Build for mv78xx0&lt;br /&gt;
  mx1ads_defconfig         - Build for mx1ads&lt;br /&gt;
  mx1_defconfig            - Build for mx1&lt;br /&gt;
  mx21_defconfig           - Build for mx21&lt;br /&gt;
  mx27_defconfig           - Build for mx27&lt;br /&gt;
  mx31pdk_defconfig        - Build for mx31pdk&lt;br /&gt;
  mx3_defconfig            - Build for mx3&lt;br /&gt;
  n770_defconfig           - Build for n770&lt;br /&gt;
  n8x0_defconfig           - Build for n8x0&lt;br /&gt;
  neocore926_defconfig     - Build for neocore926&lt;br /&gt;
  neponset_defconfig       - Build for neponset&lt;br /&gt;
  netwinder_defconfig      - Build for netwinder&lt;br /&gt;
  netx_defconfig           - Build for netx&lt;br /&gt;
  nhk8815_defconfig        - Build for nhk8815&lt;br /&gt;
  ns9xxx_defconfig         - Build for ns9xxx&lt;br /&gt;
  nuc910_defconfig         - Build for nuc910&lt;br /&gt;
  nuc950_defconfig         - Build for nuc950&lt;br /&gt;
  nuc960_defconfig         - Build for nuc960&lt;br /&gt;
  omap_2430sdp_defconfig   - Build for omap_2430sdp&lt;br /&gt;
  omap_3430sdp_defconfig   - Build for omap_3430sdp&lt;br /&gt;
  omap_3630sdp_defconfig   - Build for omap_3630sdp&lt;br /&gt;
  omap3_beagle_defconfig   - Build for omap3_beagle&lt;br /&gt;
  omap3_defconfig          - Build for omap3&lt;br /&gt;
  omap3_evm_defconfig      - Build for omap3_evm&lt;br /&gt;
  omap3_pandora_defconfig  - Build for omap3_pandora&lt;br /&gt;
  omap3_touchbook_defconfig - Build for omap3_touchbook&lt;br /&gt;
  omap_4430sdp_defconfig   - Build for omap_4430sdp&lt;br /&gt;
  omap_apollon_2420_defconfig - Build for omap_apollon_2420&lt;br /&gt;
  omap_generic_1510_defconfig - Build for omap_generic_1510&lt;br /&gt;
  omap_generic_1610_defconfig - Build for omap_generic_1610&lt;br /&gt;
  omap_generic_1710_defconfig - Build for omap_generic_1710&lt;br /&gt;
  omap_generic_2420_defconfig - Build for omap_generic_2420&lt;br /&gt;
  omap_h2_1610_defconfig   - Build for omap_h2_1610&lt;br /&gt;
  omap_h4_2420_defconfig   - Build for omap_h4_2420&lt;br /&gt;
  omap_innovator_1510_defconfig - Build for omap_innovator_1510&lt;br /&gt;
  omap_innovator_1610_defconfig - Build for omap_innovator_1610&lt;br /&gt;
  omap_ldp_defconfig       - Build for omap_ldp&lt;br /&gt;
  omap_osk_5912_defconfig  - Build for omap_osk_5912&lt;br /&gt;
  omap_perseus2_730_defconfig - Build for omap_perseus2_730&lt;br /&gt;
  omap_zoom2_defconfig     - Build for omap_zoom2&lt;br /&gt;
  omap_zoom3_defconfig     - Build for omap_zoom3&lt;br /&gt;
  onearm_defconfig         - Build for onearm&lt;br /&gt;
  orion5x_defconfig        - Build for orion5x&lt;br /&gt;
  overo_defconfig          - Build for overo&lt;br /&gt;
  palmte_defconfig         - Build for palmte&lt;br /&gt;
  palmtt_defconfig         - Build for palmtt&lt;br /&gt;
  palmz71_defconfig        - Build for palmz71&lt;br /&gt;
  palmz72_defconfig        - Build for palmz72&lt;br /&gt;
  pcm027_defconfig         - Build for pcm027&lt;br /&gt;
  picotux200_defconfig     - Build for picotux200&lt;br /&gt;
  pleb_defconfig           - Build for pleb&lt;br /&gt;
  pnx4008_defconfig        - Build for pnx4008&lt;br /&gt;
  pxa168_defconfig         - Build for pxa168&lt;br /&gt;
  pxa255-idp_defconfig     - Build for pxa255-idp&lt;br /&gt;
  pxa3xx_defconfig         - Build for pxa3xx&lt;br /&gt;
  pxa910_defconfig         - Build for pxa910&lt;br /&gt;
  qil-a9260_defconfig      - Build for qil-a9260&lt;br /&gt;
  realview_defconfig       - Build for realview&lt;br /&gt;
  realview-smp_defconfig   - Build for realview-smp&lt;br /&gt;
  rpc_defconfig            - Build for rpc&lt;br /&gt;
  rx51_defconfig           - Build for rx51&lt;br /&gt;
  s3c2410_defconfig        - Build for s3c2410&lt;br /&gt;
  s3c6400_defconfig        - Build for s3c6400&lt;br /&gt;
  s5pc100_defconfig        - Build for s5pc100&lt;br /&gt;
  sam9_l9260_defconfig     - Build for sam9_l9260&lt;br /&gt;
  shannon_defconfig        - Build for shannon&lt;br /&gt;
  shark_defconfig          - Build for shark&lt;br /&gt;
  simpad_defconfig         - Build for simpad&lt;br /&gt;
  spitz_defconfig          - Build for spitz&lt;br /&gt;
  stmp378x_defconfig       - Build for stmp378x&lt;br /&gt;
  stmp37xx_defconfig       - Build for stmp37xx&lt;br /&gt;
  sx1_defconfig            - Build for sx1&lt;br /&gt;
  tct_hammer_defconfig     - Build for tct_hammer&lt;br /&gt;
  trizeps4_defconfig       - Build for trizeps4&lt;br /&gt;
  u300_defconfig           - Build for u300&lt;br /&gt;
  u8500_defconfig          - Build for u8500&lt;br /&gt;
  usb-a9260_defconfig      - Build for usb-a9260&lt;br /&gt;
  usb-a9263_defconfig      - Build for usb-a9263&lt;br /&gt;
  versatile_defconfig      - Build for versatile&lt;br /&gt;
  viper_defconfig          - Build for viper&lt;br /&gt;
  xcep_defconfig           - Build for xcep&lt;br /&gt;
  yl9200_defconfig         - Build for yl9200&lt;br /&gt;
  zeus_defconfig           - Build for zeus&lt;br /&gt;
&lt;br /&gt;
  make V=0|1 [targets] 0 =&amp;gt; quiet build (default), 1 =&amp;gt; verbose build&lt;br /&gt;
  make V=2   [targets] 2 =&amp;gt; give reason for rebuild of target&lt;br /&gt;
  make O=dir [targets] Locate all output files in &amp;quot;dir&amp;quot;, including .config&lt;br /&gt;
  make C=1   [targets] Check all c source with $CHECK (sparse by default)&lt;br /&gt;
  make C=2   [targets] Force check of all c source with $CHECK&lt;br /&gt;
&lt;br /&gt;
Execute &amp;quot;make&amp;quot; or &amp;quot;make all&amp;quot; to build all targets marked with [*] &lt;br /&gt;
For further info see the ./README file&lt;br /&gt;
|-&lt;br /&gt;
| 4-8&lt;br /&gt;
| 4-30&lt;br /&gt;
| Snippet from .../arch/arm/Konfig&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
   205 source &amp;quot;init/Kconfig&amp;quot;&lt;br /&gt;
    206 &lt;br /&gt;
    207 source &amp;quot;kernel/Kconfig.freezer&amp;quot;&lt;br /&gt;
    208 &lt;br /&gt;
    209 menu &amp;quot;System Type&amp;quot;&lt;br /&gt;
    210 &lt;br /&gt;
    211 config MMU&lt;br /&gt;
    212         bool &amp;quot;MMU-based Paged Memory Management Support&amp;quot;&lt;br /&gt;
    213         default y&lt;br /&gt;
    214         help&lt;br /&gt;
    215           Select if you want MMU-based virtualised addressing space&lt;br /&gt;
    216           support by paged memory management. If unsure, say 'Y'.&lt;br /&gt;
    217 &lt;br /&gt;
    218 choice&lt;br /&gt;
    219         prompt &amp;quot;ARM system type&amp;quot;&lt;br /&gt;
    220         default ARCH_VERSATILE&lt;br /&gt;
    783 source &amp;quot;arch/arm/mach-ixp4xx/Kconfig&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-9&lt;br /&gt;
| 4-30&lt;br /&gt;
| Snippet from .../arch/arm/mach-omap1/Konfig&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
      1 comment &amp;quot;OMAP Core Type&amp;quot;&lt;br /&gt;
      2         depends on ARCH_OMAP1&lt;br /&gt;
      3 &lt;br /&gt;
      4 config ARCH_OMAP730&lt;br /&gt;
      5         depends on ARCH_OMAP1&lt;br /&gt;
      6         bool &amp;quot;OMAP730 Based System&amp;quot;&lt;br /&gt;
      7         select CPU_ARM926T&lt;br /&gt;
      8         select ARCH_OMAP_OTG&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-10&lt;br /&gt;
| 4-32&lt;br /&gt;
| Customized .config file snippet&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
 257 CONFIG_MACH_OMAP3_BEAGLE=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-11&lt;br /&gt;
| 4-33&lt;br /&gt;
| .../arch/arm/mach-omap1 Kernel subdirectory&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Makefile for the linux kernel.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Common support&lt;br /&gt;
obj-y := io.o id.o sram.o irq.o mux.o flash.o serial.o devices.o&lt;br /&gt;
obj-y += clock.o clock_data.o opp_data.o&lt;br /&gt;
&lt;br /&gt;
obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o&lt;br /&gt;
&lt;br /&gt;
obj-$(CONFIG_OMAP_MPU_TIMER)	+= time.o&lt;br /&gt;
obj-$(CONFIG_OMAP_32K_TIMER)	+= timer32k.o&lt;br /&gt;
&lt;br /&gt;
# Power Management&lt;br /&gt;
obj-$(CONFIG_PM) += pm.o sleep.o&lt;br /&gt;
&lt;br /&gt;
# DSP&lt;br /&gt;
obj-$(CONFIG_OMAP_MBOX_FWK)	+= mailbox_mach.o&lt;br /&gt;
mailbox_mach-objs		:= mailbox.o&lt;br /&gt;
&lt;br /&gt;
i2c-omap-$(CONFIG_I2C_OMAP)		:= i2c.o&lt;br /&gt;
obj-y					+= $(i2c-omap-m) $(i2c-omap-y)&lt;br /&gt;
&lt;br /&gt;
led-y := leds.o&lt;br /&gt;
&lt;br /&gt;
# Specific board support&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_H2)		+= board-h2.o board-h2-mmc.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_INNOVATOR)	+= board-innovator.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_GENERIC)		+= board-generic.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PERSEUS2)	+= board-perseus2.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_FSAMPLE)		+= board-fsample.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_OSK)		+= board-osk.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_H3)		+= board-h3.o board-h3-mmc.o&lt;br /&gt;
obj-$(CONFIG_MACH_VOICEBLUE)		+= board-voiceblue.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PALMTE)		+= board-palmte.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PALMZ71)		+= board-palmz71.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PALMTT)		+= board-palmtt.o&lt;br /&gt;
obj-$(CONFIG_MACH_NOKIA770)		+= board-nokia770.o&lt;br /&gt;
obj-$(CONFIG_MACH_AMS_DELTA)		+= board-ams-delta.o&lt;br /&gt;
obj-$(CONFIG_MACH_SX1)			+= board-sx1.o board-sx1-mmc.o&lt;br /&gt;
obj-$(CONFIG_MACH_HERALD)		+= board-htcherald.o&lt;br /&gt;
&lt;br /&gt;
ifeq ($(CONFIG_ARCH_OMAP15XX),y)&lt;br /&gt;
# Innovator-1510 FPGA&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_INNOVATOR)	+= fpga.o&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
# LEDs support&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_H2)		+= leds-h2p2-debug.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_H3)		+= leds-h2p2-debug.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_INNOVATOR)	+= leds-innovator.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_PERSEUS2)	+= leds-h2p2-debug.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_OSK)		+= leds-osk.o&lt;br /&gt;
obj-$(CONFIG_LEDS)			+= $(led-y)&lt;br /&gt;
&lt;br /&gt;
ifneq ($(CONFIG_FB_OMAP),)&lt;br /&gt;
obj-y += lcd_dma.o&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-5&lt;br /&gt;
| 5-5&lt;br /&gt;
| Assembly file Piggy.S&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
      1         .section .piggydata,#alloc&lt;br /&gt;
      2         .globl  input_data&lt;br /&gt;
      3 input_data:&lt;br /&gt;
      4         .incbin &amp;quot;arch/arm/boot/compressed/piggy.gzip&amp;quot;&lt;br /&gt;
      5         .globl  input_data_end&lt;br /&gt;
      6 input_data_end:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-4&lt;br /&gt;
| 5-18&lt;br /&gt;
| Console setup Code Snippet&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    837 /*&lt;br /&gt;
    838  * Set up a list of consoles.  Called from init/main.c&lt;br /&gt;
    839  */&lt;br /&gt;
    840 static int __init console_setup(char *str)&lt;br /&gt;
    841 {&lt;br /&gt;
    842         char buf[sizeof(console_cmdline[0].name) + 4]; /* 4 for index */&lt;br /&gt;
    843         char *s, *options, *brl_options = NULL;&lt;br /&gt;
    844         int idx;&lt;br /&gt;
    845 &lt;br /&gt;
    846 #ifdef CONFIG_A11Y_BRAILLE_CONSOLE&lt;br /&gt;
    847         if (!memcmp(str, &amp;quot;brl,&amp;quot;, 4)) {&lt;br /&gt;
    848                 brl_options = &amp;quot;&amp;quot;;&lt;br /&gt;
    849                 str += 4;&lt;br /&gt;
    850         } else if (!memcmp(str, &amp;quot;brl=&amp;quot;, 4)) {&lt;br /&gt;
    851                 brl_options = str + 4;&lt;br /&gt;
    852                 str = strchr(brl_options, ',');&lt;br /&gt;
    853                 if (!str) {&lt;br /&gt;
    854                         printk(KERN_ERR &amp;quot;need port name after brl=\n&amp;quot;);&lt;br /&gt;
    855                         return 1;&lt;br /&gt;
    856                 }&lt;br /&gt;
    857                 *(str++) = 0;&lt;br /&gt;
    858         }&lt;br /&gt;
    859 #endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-8&lt;br /&gt;
| 5-19&lt;br /&gt;
| Family of __setup macro Definitions from init.h&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    224 /*&lt;br /&gt;
    225  * Only for really core code.  See moduleparam.h for the normal way.&lt;br /&gt;
    226  *&lt;br /&gt;
    227  * Force the alignment so the compiler doesn't space elements of the&lt;br /&gt;
    228  * obs_kernel_param &amp;quot;array&amp;quot; too far apart in .init.setup.&lt;br /&gt;
    229  */&lt;br /&gt;
    230 #define __setup_param(str, unique_id, fn, early)                        \&lt;br /&gt;
    231         static const char __setup_str_##unique_id[] __initconst \&lt;br /&gt;
    232                 __aligned(1) = str; \&lt;br /&gt;
    233         static struct obs_kernel_param __setup_##unique_id      \&lt;br /&gt;
    234                 __used __section(.init.setup)                   \&lt;br /&gt;
    235                 __attribute__((aligned((sizeof(long)))))        \&lt;br /&gt;
    236                 = { __setup_str_##unique_id, fn, early }&lt;br /&gt;
    237 &lt;br /&gt;
    238 #define __setup(str, fn)                                        \&lt;br /&gt;
    239         __setup_param(str, fn, fn, 0)&lt;br /&gt;
    240 &lt;br /&gt;
    241 /* NOTE: fn is as per module_param, not __setup!  Emits warning if fn&lt;br /&gt;
    242  * returns non-zero. */&lt;br /&gt;
    243 #define early_param(str, fn)                                    \&lt;br /&gt;
    244         __setup_param(str, fn, fn, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| 5-20&lt;br /&gt;
| Kernel Command Line Processing&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    204 extern struct obs_kernel_param __setup_start[], __setup_end[];&lt;br /&gt;
    205 &lt;br /&gt;
    206 static int __init obsolete_checksetup(char *line)&lt;br /&gt;
    207 {&lt;br /&gt;
    208         struct obs_kernel_param *p;&lt;br /&gt;
    209         int had_early_param = 0;&lt;br /&gt;
    210 &lt;br /&gt;
    211         p = __setup_start;&lt;br /&gt;
    212         do {&lt;br /&gt;
    213                 int n = strlen(p-&amp;gt;str);&lt;br /&gt;
    214                 if (!strncmp(line, p-&amp;gt;str, n)) {&lt;br /&gt;
    215                         if (p-&amp;gt;early) {&lt;br /&gt;
    216                                 /* Already done in parse_early_param?&lt;br /&gt;
    217                                  * (Needs exact match on param part).&lt;br /&gt;
    218                                  * Keep iterating, as we can have early&lt;br /&gt;
    219                                  * params and __setups of same names 8( */&lt;br /&gt;
    220                                 if (line[n] == '\0' || line[n] == '=')&lt;br /&gt;
    221                                         had_early_param = 1;&lt;br /&gt;
    222                         } else if (!p-&amp;gt;setup_func) {&lt;br /&gt;
    223                                 printk(KERN_WARNING &amp;quot;Parameter %s is obsolete,&amp;quot;&lt;br /&gt;
    224                                        &amp;quot; ignored\n&amp;quot;, p-&amp;gt;str);&lt;br /&gt;
    225                                 return 1;&lt;br /&gt;
    226                         } else if (p-&amp;gt;setup_func(line + n))&lt;br /&gt;
    227                                 return 1;&lt;br /&gt;
    228                 }&lt;br /&gt;
    229                 p++;&lt;br /&gt;
    230         } while (p &amp;lt; __setup_end);&lt;br /&gt;
    231 &lt;br /&gt;
    232         return had_early_param;&lt;br /&gt;
    233 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-7&lt;br /&gt;
| 5-23&lt;br /&gt;
| Example Initialization Routine&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    369 static struct machine_desc * __init setup_machine(unsigned int nr)&lt;br /&gt;
    370 {&lt;br /&gt;
    371         struct machine_desc *list;&lt;br /&gt;
    372 &lt;br /&gt;
    373         /*&lt;br /&gt;
    374          * locate machine in the list of supported machines.&lt;br /&gt;
    375          */&lt;br /&gt;
    376         list = lookup_machine_type(nr);&lt;br /&gt;
    377         if (!list) {&lt;br /&gt;
    378                 printk(&amp;quot;Machine configuration botched (nr %d), unable &amp;quot;&lt;br /&gt;
    379                        &amp;quot;to continue.\n&amp;quot;, nr);&lt;br /&gt;
    380                 while (1);&lt;br /&gt;
    381         }&lt;br /&gt;
    382 &lt;br /&gt;
    383         printk(&amp;quot;Machine: %s\n&amp;quot;, list-&amp;gt;name);&lt;br /&gt;
    384 &lt;br /&gt;
    385         return list;&lt;br /&gt;
    386 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-8&lt;br /&gt;
| 5-23&lt;br /&gt;
| Initcall Family of Macros&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    170 #define __define_initcall(level,fn,id) \&lt;br /&gt;
    171         static initcall_t __initcall_##fn##id __used \&lt;br /&gt;
    172         __attribute__((__section__(&amp;quot;.initcall&amp;quot; level &amp;quot;.init&amp;quot;))) = fn&lt;br /&gt;
    173 &lt;br /&gt;
    174 /*&lt;br /&gt;
    175  * Early initcalls run before initializing SMP.&lt;br /&gt;
    176  *&lt;br /&gt;
    177  * Only for built-in code, not modules.&lt;br /&gt;
    178  */&lt;br /&gt;
    179 #define early_initcall(fn)              __define_initcall(&amp;quot;early&amp;quot;,fn,early)&lt;br /&gt;
    180 &lt;br /&gt;
    181 /*&lt;br /&gt;
    182  * A &amp;quot;pure&amp;quot; initcall has no dependencies on anything else, and purely&lt;br /&gt;
    183  * initializes variables that couldn't be statically initialized.&lt;br /&gt;
    184  *&lt;br /&gt;
    185  * This only exists for built-in code, not for modules.&lt;br /&gt;
    186  */&lt;br /&gt;
    187 #define pure_initcall(fn)               __define_initcall(&amp;quot;0&amp;quot;,fn,0)&lt;br /&gt;
    188 &lt;br /&gt;
    189 #define core_initcall(fn)               __define_initcall(&amp;quot;1&amp;quot;,fn,1)&lt;br /&gt;
    190 #define core_initcall_sync(fn)          __define_initcall(&amp;quot;1s&amp;quot;,fn,1s)&lt;br /&gt;
    191 #define postcore_initcall(fn)           __define_initcall(&amp;quot;2&amp;quot;,fn,2)&lt;br /&gt;
    192 #define postcore_initcall_sync(fn)      __define_initcall(&amp;quot;2s&amp;quot;,fn,2s)&lt;br /&gt;
    193 #define arch_initcall(fn)               __define_initcall(&amp;quot;3&amp;quot;,fn,3)&lt;br /&gt;
    194 #define arch_initcall_sync(fn)          __define_initcall(&amp;quot;3s&amp;quot;,fn,3s)&lt;br /&gt;
    195 #define subsys_initcall(fn)             __define_initcall(&amp;quot;4&amp;quot;,fn,4)&lt;br /&gt;
    196 #define subsys_initcall_sync(fn)        __define_initcall(&amp;quot;4s&amp;quot;,fn,4s)&lt;br /&gt;
    197 #define fs_initcall(fn)                 __define_initcall(&amp;quot;5&amp;quot;,fn,5)&lt;br /&gt;
    198 #define fs_initcall_sync(fn)            __define_initcall(&amp;quot;5s&amp;quot;,fn,5s)&lt;br /&gt;
    199 #define rootfs_initcall(fn)             __define_initcall(&amp;quot;rootfs&amp;quot;,fn,rootfs)&lt;br /&gt;
    200 #define device_initcall(fn)             __define_initcall(&amp;quot;6&amp;quot;,fn,6)&lt;br /&gt;
    201 #define device_initcall_sync(fn)        __define_initcall(&amp;quot;6s&amp;quot;,fn,6s)&lt;br /&gt;
    202 #define late_initcall(fn)               __define_initcall(&amp;quot;7&amp;quot;,fn,7)&lt;br /&gt;
    203 #define late_initcall_sync(fn)          __define_initcall(&amp;quot;7s&amp;quot;,fn,7s)&lt;br /&gt;
    204 &lt;br /&gt;
    205 #define __initcall(fn) device_initcall(fn)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-9&lt;br /&gt;
| 5-26&lt;br /&gt;
| Creation of kernel init thread&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    424 static noinline void __init_refok rest_init(void)&lt;br /&gt;
    425         __releases(kernel_lock)&lt;br /&gt;
    426 {&lt;br /&gt;
    427         int pid;&lt;br /&gt;
    428 &lt;br /&gt;
    429         rcu_scheduler_starting();&lt;br /&gt;
    430         kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);&lt;br /&gt;
    431         numa_default_policy();&lt;br /&gt;
    432         pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES);&lt;br /&gt;
    433         rcu_read_lock();&lt;br /&gt;
    434         kthreadd_task = find_task_by_pid_ns(pid, &amp;amp;init_pid_ns);&lt;br /&gt;
    435         rcu_read_unlock();&lt;br /&gt;
    436         unlock_kernel();&lt;br /&gt;
    437 &lt;br /&gt;
    438         /*&lt;br /&gt;
    439          * The boot idle thread must execute schedule()&lt;br /&gt;
    440          * at least once to get things moving:&lt;br /&gt;
    441          */&lt;br /&gt;
    442         init_idle_bootup_task(current);&lt;br /&gt;
    443         preempt_enable_no_resched();&lt;br /&gt;
    444         schedule();&lt;br /&gt;
    445         preempt_disable();&lt;br /&gt;
    446 &lt;br /&gt;
    447         /* Call into cpu_idle with preempt disabled */&lt;br /&gt;
    448         cpu_idle();&lt;br /&gt;
    449 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-10&lt;br /&gt;
| 5-27&lt;br /&gt;
| Initialization via initcalls&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    765 extern initcall_t __initcall_start[], __initcall_end[], __early_initcall_end[];&lt;br /&gt;
    766 &lt;br /&gt;
    767 static void __init do_initcalls(void)&lt;br /&gt;
    768 {&lt;br /&gt;
    769         initcall_t *fn;&lt;br /&gt;
    770 &lt;br /&gt;
    771         for (fn = __early_initcall_end; fn &amp;lt; __initcall_end; fn++)&lt;br /&gt;
    772                 do_one_initcall(*fn);&lt;br /&gt;
    773 &lt;br /&gt;
    774         /* Make sure there is no pending stuff from the initcall sequence */&lt;br /&gt;
    775         flush_scheduled_work();&lt;br /&gt;
    776 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-11&lt;br /&gt;
| 5-28&lt;br /&gt;
| Final Kernel Boot Steps from main.c&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    814 static noinline int init_post(void)&lt;br /&gt;
    815         __releases(kernel_lock)&lt;br /&gt;
    816 {&lt;br /&gt;
    817         /* need to finish all async __init code before freeing the memory */&lt;br /&gt;
    818         async_synchronize_full();&lt;br /&gt;
    819         free_initmem();&lt;br /&gt;
    820         unlock_kernel();&lt;br /&gt;
    821         mark_rodata_ro();&lt;br /&gt;
    822         system_state = SYSTEM_RUNNING;&lt;br /&gt;
    823         numa_default_policy();&lt;br /&gt;
    824 &lt;br /&gt;
    825 &lt;br /&gt;
    826         current-&amp;gt;signal-&amp;gt;flags |= SIGNAL_UNKILLABLE;&lt;br /&gt;
    827 &lt;br /&gt;
    828         if (ramdisk_execute_command) {&lt;br /&gt;
    829                 run_init_process(ramdisk_execute_command);&lt;br /&gt;
    830                 printk(KERN_WARNING &amp;quot;Failed to execute %s\n&amp;quot;,&lt;br /&gt;
    831                                 ramdisk_execute_command);&lt;br /&gt;
    832         }&lt;br /&gt;
    833 &lt;br /&gt;
    834         /*&lt;br /&gt;
    835          * We try each of these until one succeeds.&lt;br /&gt;
    836          *&lt;br /&gt;
    837          * The Bourne shell can be used instead of init if we are&lt;br /&gt;
    838          * trying to recover a really broken machine.&lt;br /&gt;
    839          */&lt;br /&gt;
    840         if (execute_command) {&lt;br /&gt;
    841                 run_init_process(execute_command);&lt;br /&gt;
    842                 printk(KERN_WARNING &amp;quot;Failed to execute %s.  Attempting &amp;quot;&lt;br /&gt;
    843                                         &amp;quot;defaults...\n&amp;quot;, execute_command);&lt;br /&gt;
    844         }&lt;br /&gt;
    845         run_init_process(&amp;quot;/sbin/init&amp;quot;);&lt;br /&gt;
    846         run_init_process(&amp;quot;/etc/init&amp;quot;);&lt;br /&gt;
    847         run_init_process(&amp;quot;/bin/init&amp;quot;);&lt;br /&gt;
    848         run_init_process(&amp;quot;/bin/sh&amp;quot;);&lt;br /&gt;
    849 &lt;br /&gt;
    850         panic(&amp;quot;No init found.  Try passing init= option to kernel. &amp;quot;&lt;br /&gt;
    851               &amp;quot;See Linux Documentation/init.txt for guidance.&amp;quot;);&lt;br /&gt;
    852 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 6-1&lt;br /&gt;
| 6-7&lt;br /&gt;
| Final boot steps from main.c&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    840         if (execute_command) {&lt;br /&gt;
    841                 run_init_process(execute_command);&lt;br /&gt;
    842                 printk(KERN_WARNING &amp;quot;Failed to execute %s.  Attempting &amp;quot;&lt;br /&gt;
    843                                         &amp;quot;defaults...\n&amp;quot;, execute_command);&lt;br /&gt;
    844         }&lt;br /&gt;
    845         run_init_process(&amp;quot;/sbin/init&amp;quot;);&lt;br /&gt;
    846         run_init_process(&amp;quot;/etc/init&amp;quot;);&lt;br /&gt;
    847         run_init_process(&amp;quot;/bin/init&amp;quot;);&lt;br /&gt;
    848         run_init_process(&amp;quot;/bin/sh&amp;quot;);&lt;br /&gt;
    849 &lt;br /&gt;
    850         panic(&amp;quot;No init found.  Try passing init= option to kernel. &amp;quot;&lt;br /&gt;
    851               &amp;quot;See Linux Documentation/init.txt for guidance.&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 6-3&lt;br /&gt;
| 6-12&lt;br /&gt;
| Runlevel Directory Structure&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@ubuntu:~$ ls -d1 /etc/rc*&lt;br /&gt;
/etc/rc0.d&lt;br /&gt;
/etc/rc1.d&lt;br /&gt;
/etc/rc2.d&lt;br /&gt;
/etc/rc3.d&lt;br /&gt;
/etc/rc4.d&lt;br /&gt;
/etc/rc5.d&lt;br /&gt;
/etc/rc6.d&lt;br /&gt;
/etc/rc.local&lt;br /&gt;
/etc/rcS.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 6-4&lt;br /&gt;
| 6-12&lt;br /&gt;
| Example Runlevel Directory&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@ubuntu:~$ ls -lsa /etc/rc1.d/&lt;br /&gt;
total 20&lt;br /&gt;
 4 drwxr-xr-x   2 root root  4096 2010-03-08 14:14 .&lt;br /&gt;
12 drwxr-xr-x 131 root root 12288 2010-03-26 17:35 ..&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    20 2010-03-08 13:39 K15pulseaudio -&amp;gt; ../init.d/pulseaudio&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    22 2010-03-08 13:39 K20acpi-support -&amp;gt; ../init.d/acpi-support&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    20 2010-03-08 13:39 K20kerneloops -&amp;gt; ../init.d/kerneloops&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    15 2010-03-08 13:39 K20rsync -&amp;gt; ../init.d/rsync&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    15 2010-03-08 13:39 K20saned -&amp;gt; ../init.d/saned&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    27 2010-03-08 13:39 K20speech-dispatcher -&amp;gt; ../init.d/speech-dispatcher&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    19 2010-03-08 13:39 K74bluetooth -&amp;gt; ../init.d/bluetooth&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    14 2010-03-08 13:39 K80cups -&amp;gt; ../init.d/cups&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    21 2010-03-08 13:39 K99laptop-mode -&amp;gt; ../init.d/laptop-mode&lt;br /&gt;
 4 -rw-r--r--   1 root root   369 2009-09-07 14:58 README&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    19 2010-03-08 13:39 S30killprocs -&amp;gt; ../init.d/killprocs&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    19 2010-03-08 13:39 S70dns-clean -&amp;gt; ../init.d/dns-clean&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    18 2010-03-08 13:39 S70pppd-dns -&amp;gt; ../init.d/pppd-dns&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    16 2010-03-08 13:39 S90single -&amp;gt; ../init.d/single&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Banistpw</name></author>	</entry>

	<entry>
		<id>http://elinux.org/User:Banistpw</id>
		<title>User:Banistpw</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/User:Banistpw"/>
				<updated>2010-03-27T03:39:05Z</updated>
		
		<summary type="html">&lt;p&gt;Banistpw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Paul Banister&lt;br /&gt;
&lt;br /&gt;
Senior CS/SE&lt;br /&gt;
&lt;br /&gt;
Very familiar but no expert with both Linux and C/C++. I hope to contribute good coding practices and design to a team more familiar with lower level background.&lt;br /&gt;
&lt;br /&gt;
Working on the [[ECE597: MythTV/DSP Pico Projector]] project for ECE597.&lt;br /&gt;
&lt;br /&gt;
[[Category:ECE597]]&lt;br /&gt;
&lt;br /&gt;
== Listings ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Number&lt;br /&gt;
! Page&lt;br /&gt;
! Caption&lt;br /&gt;
! Listing&lt;br /&gt;
|-&lt;br /&gt;
| 2-4&lt;br /&gt;
| 2-21&lt;br /&gt;
| Hello, World Wmbedded Style&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int bss_var;        /* Uninitialized global variable */&lt;br /&gt;
&lt;br /&gt;
int data_var = 1;   /* Initialized global variable */&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  void *stack_var;            /* Local variable on the stack */&lt;br /&gt;
  &lt;br /&gt;
  stack_var = (void *)main;   /* Don't let the compiler */&lt;br /&gt;
                              /* optimize it out */&lt;br /&gt;
&lt;br /&gt;
  printf(&amp;quot;Hello, World! Main is executing at %p\n&amp;quot;, stack_var);&lt;br /&gt;
  printf(&amp;quot;This address (%p) is in our stack frame\n&amp;quot;, &amp;amp;stack_var);&lt;br /&gt;
&lt;br /&gt;
  /* bss section contains uninitialized data */&lt;br /&gt;
  printf(&amp;quot;This address (%p) is in our bss section\n&amp;quot;, &amp;amp;bss_var);&lt;br /&gt;
&lt;br /&gt;
  /* data section contains initializated data */&lt;br /&gt;
  printf(&amp;quot;This address (%p) is in our data section\n&amp;quot;, &amp;amp;data_var);&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-3&lt;br /&gt;
| 4-15&lt;br /&gt;
| Kernel Subdirectory&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe$ ls -l linux-omap-2.6/arch/arm/mach-ixp4xx/&lt;br /&gt;
total 212&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1977 2010-03-11 23:14 avila-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  4658 2010-03-11 23:14 avila-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 12029 2010-03-11 23:14 common.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 12910 2010-03-11 23:14 common-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1599 2010-03-11 23:14 coyote-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  3452 2010-03-11 23:14 coyote-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2034 2010-03-11 23:14 dsmg600-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  7394 2010-03-11 23:14 dsmg600-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1748 2010-03-11 23:14 fsg-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  6795 2010-03-11 23:14 fsg-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1490 2010-03-11 23:14 gateway7001-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2646 2010-03-11 23:14 gateway7001-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 12465 2010-03-11 23:14 goramo_mlr.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2397 2010-03-11 23:14 gtwx5715-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  4738 2010-03-11 23:14 gtwx5715-setup.c&lt;br /&gt;
drwxrwx--x 3 brian elinux  4096 2010-03-11 23:14 include&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1892 2010-03-11 23:14 ixdp425-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  7610 2010-03-11 23:14 ixdp425-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1354 2010-03-11 23:14 ixdpg425-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 21565 2010-03-11 23:14 ixp4xx_npe.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  9350 2010-03-11 23:14 ixp4xx_qmgr.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  6431 2010-03-11 23:14 Kconfig&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1319 2010-03-11 23:14 Makefile&lt;br /&gt;
-rwxrwx--x 1 brian elinux    57 2010-03-11 23:14 Makefile.boot&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1869 2010-03-11 23:14 nas100d-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  8127 2010-03-11 23:14 nas100d-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1666 2010-03-11 23:14 nslu2-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  7147 2010-03-11 23:14 nslu2-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1468 2010-03-11 23:14 wg302v2-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2585 2010-03-11 23:14 wg302v2-setup.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-4&lt;br /&gt;
| 4-17&lt;br /&gt;
| USB in Linux 2.6 .config&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe/linux-omap-2.6$ cat .config | grep USB&lt;br /&gt;
# CONFIG_USB_ZD1201 is not set&lt;br /&gt;
# USB Network Adapters&lt;br /&gt;
# CONFIG_USB_CATC is not set&lt;br /&gt;
# CONFIG_USB_KAWETH is not set&lt;br /&gt;
# CONFIG_USB_PEGASUS is not set&lt;br /&gt;
# CONFIG_USB_RTL8150 is not set&lt;br /&gt;
# CONFIG_USB_USBNET is not set&lt;br /&gt;
# CONFIG_I2C_TINY_USB is not set&lt;br /&gt;
CONFIG_USB_SUPPORT=y&lt;br /&gt;
CONFIG_USB_ARCH_HAS_HCD=y&lt;br /&gt;
CONFIG_USB_ARCH_HAS_OHCI=y&lt;br /&gt;
CONFIG_USB_ARCH_HAS_EHCI=y&lt;br /&gt;
CONFIG_USB=y&lt;br /&gt;
# CONFIG_USB_DEBUG is not set&lt;br /&gt;
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set&lt;br /&gt;
# Miscellaneous USB options&lt;br /&gt;
CONFIG_USB_DEVICEFS=y&lt;br /&gt;
CONFIG_USB_DEVICE_CLASS=y&lt;br /&gt;
# CONFIG_USB_DYNAMIC_MINORS is not set&lt;br /&gt;
CONFIG_USB_SUSPEND=y&lt;br /&gt;
CONFIG_USB_OTG=y&lt;br /&gt;
# CONFIG_USB_OTG_WHITELIST is not set&lt;br /&gt;
# CONFIG_USB_OTG_BLACKLIST_HUB is not set&lt;br /&gt;
CONFIG_USB_MON=y&lt;br /&gt;
# CONFIG_USB_WUSB is not set&lt;br /&gt;
# CONFIG_USB_WUSB_CBAF is not set&lt;br /&gt;
# USB Host Controller Drivers&lt;br /&gt;
# CONFIG_USB_C67X00_HCD is not set&lt;br /&gt;
CONFIG_USB_EHCI_HCD=y&lt;br /&gt;
CONFIG_USB_EHCI_ROOT_HUB_TT=y&lt;br /&gt;
# CONFIG_USB_EHCI_TT_NEWSCHED is not set&lt;br /&gt;
# CONFIG_USB_OXU210HP_HCD is not set&lt;br /&gt;
# CONFIG_USB_ISP116X_HCD is not set&lt;br /&gt;
# CONFIG_USB_ISP1760_HCD is not set&lt;br /&gt;
# CONFIG_USB_ISP1362_HCD is not set&lt;br /&gt;
# CONFIG_USB_OHCI_HCD is not set&lt;br /&gt;
# CONFIG_USB_SL811_HCD is not set&lt;br /&gt;
# CONFIG_USB_R8A66597_HCD is not set&lt;br /&gt;
# CONFIG_USB_HWA_HCD is not set&lt;br /&gt;
CONFIG_USB_MUSB_HDRC=y&lt;br /&gt;
CONFIG_USB_MUSB_SOC=y&lt;br /&gt;
# OMAP 343x high speed USB support&lt;br /&gt;
# CONFIG_USB_MUSB_HOST is not set&lt;br /&gt;
# CONFIG_USB_MUSB_PERIPHERAL is not set&lt;br /&gt;
CONFIG_USB_MUSB_OTG=y&lt;br /&gt;
CONFIG_USB_GADGET_MUSB_HDRC=y&lt;br /&gt;
CONFIG_USB_MUSB_HDRC_HCD=y&lt;br /&gt;
# CONFIG_MUSB_PIO_ONLY is not set&lt;br /&gt;
CONFIG_USB_INVENTRA_DMA=y&lt;br /&gt;
# CONFIG_USB_TI_CPPI_DMA is not set&lt;br /&gt;
# CONFIG_USB_MUSB_DEBUG is not set&lt;br /&gt;
# USB Device Class drivers&lt;br /&gt;
# CONFIG_USB_ACM is not set&lt;br /&gt;
# CONFIG_USB_PRINTER is not set&lt;br /&gt;
# CONFIG_USB_WDM is not set&lt;br /&gt;
# CONFIG_USB_TMC is not set&lt;br /&gt;
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may&lt;br /&gt;
# also be needed; see USB_STORAGE Help for more info&lt;br /&gt;
# CONFIG_USB_STORAGE is not set&lt;br /&gt;
# CONFIG_USB_LIBUSUAL is not set&lt;br /&gt;
# USB Imaging devices&lt;br /&gt;
# CONFIG_USB_MDC800 is not set&lt;br /&gt;
# CONFIG_USB_MICROTEK is not set&lt;br /&gt;
# USB port drivers&lt;br /&gt;
# CONFIG_USB_SERIAL is not set&lt;br /&gt;
# USB Miscellaneous drivers&lt;br /&gt;
# CONFIG_USB_EMI62 is not set&lt;br /&gt;
# CONFIG_USB_EMI26 is not set&lt;br /&gt;
# CONFIG_USB_ADUTUX is not set&lt;br /&gt;
# CONFIG_USB_SEVSEG is not set&lt;br /&gt;
# CONFIG_USB_RIO500 is not set&lt;br /&gt;
# CONFIG_USB_LEGOTOWER is not set&lt;br /&gt;
# CONFIG_USB_LCD is not set&lt;br /&gt;
# CONFIG_USB_LED is not set&lt;br /&gt;
# CONFIG_USB_CYPRESS_CY7C63 is not set&lt;br /&gt;
# CONFIG_USB_CYTHERM is not set&lt;br /&gt;
# CONFIG_USB_IDMOUSE is not set&lt;br /&gt;
# CONFIG_USB_FTDI_ELAN is not set&lt;br /&gt;
# CONFIG_USB_APPLEDISPLAY is not set&lt;br /&gt;
# CONFIG_USB_SISUSBVGA is not set&lt;br /&gt;
# CONFIG_USB_LD is not set&lt;br /&gt;
# CONFIG_USB_TRANCEVIBRATOR is not set&lt;br /&gt;
# CONFIG_USB_IOWARRIOR is not set&lt;br /&gt;
# CONFIG_USB_TEST is not set&lt;br /&gt;
# CONFIG_USB_ISIGHTFW is not set&lt;br /&gt;
CONFIG_USB_GADGET=y&lt;br /&gt;
# CONFIG_USB_GADGET_DEBUG is not set&lt;br /&gt;
# CONFIG_USB_GADGET_DEBUG_FILES is not set&lt;br /&gt;
CONFIG_USB_GADGET_VBUS_DRAW=2&lt;br /&gt;
CONFIG_USB_GADGET_SELECTED=y&lt;br /&gt;
# CONFIG_USB_GADGET_AT91 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_ATMEL_USBA is not set&lt;br /&gt;
# CONFIG_USB_GADGET_FSL_USB2 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_LH7A40X is not set&lt;br /&gt;
# CONFIG_USB_GADGET_OMAP is not set&lt;br /&gt;
# CONFIG_USB_GADGET_PXA25X is not set&lt;br /&gt;
# CONFIG_USB_GADGET_R8A66597 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_PXA27X is not set&lt;br /&gt;
# CONFIG_USB_GADGET_S3C_HSOTG is not set&lt;br /&gt;
# CONFIG_USB_GADGET_IMX is not set&lt;br /&gt;
# CONFIG_USB_GADGET_S3C2410 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_M66592 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_AMD5536UDC is not set&lt;br /&gt;
# CONFIG_USB_GADGET_FSL_QE is not set&lt;br /&gt;
# CONFIG_USB_GADGET_CI13XXX is not set&lt;br /&gt;
# CONFIG_USB_GADGET_NET2280 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_GOKU is not set&lt;br /&gt;
# CONFIG_USB_GADGET_LANGWELL is not set&lt;br /&gt;
# CONFIG_USB_GADGET_DUMMY_HCD is not set&lt;br /&gt;
CONFIG_USB_GADGET_DUALSPEED=y&lt;br /&gt;
# CONFIG_USB_ZERO is not set&lt;br /&gt;
# CONFIG_USB_AUDIO is not set&lt;br /&gt;
CONFIG_USB_ETH=m&lt;br /&gt;
CONFIG_USB_ETH_RNDIS=y&lt;br /&gt;
# CONFIG_USB_ETH_EEM is not set&lt;br /&gt;
# CONFIG_USB_GADGETFS is not set&lt;br /&gt;
# CONFIG_USB_FILE_STORAGE is not set&lt;br /&gt;
# CONFIG_USB_MASS_STORAGE is not set&lt;br /&gt;
# CONFIG_USB_G_SERIAL is not set&lt;br /&gt;
# CONFIG_USB_MIDI_GADGET is not set&lt;br /&gt;
# CONFIG_USB_G_PRINTER is not set&lt;br /&gt;
# CONFIG_USB_CDC_COMPOSITE is not set&lt;br /&gt;
# CONFIG_USB_G_NOKIA is not set&lt;br /&gt;
# CONFIG_USB_G_MULTI is not set&lt;br /&gt;
CONFIG_USB_OTG_UTILS=y&lt;br /&gt;
# CONFIG_USB_GPIO_VBUS is not set&lt;br /&gt;
# CONFIG_USB_ULPI is not set&lt;br /&gt;
CONFIG_TWL4030_USB=y&lt;br /&gt;
# CONFIG_NOP_USB_XCEIV is not set&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| 4-21&lt;br /&gt;
| Linux autoconf.h&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe/linux-omap-2.6$ cat include/generated/autoconf.h | grep CONFIG_USB&lt;br /&gt;
#define CONFIG_USB_MUSB_HDRC 1&lt;br /&gt;
#define CONFIG_USB_ETH_RNDIS 1&lt;br /&gt;
#define CONFIG_USB_GADGET_MUSB_HDRC 1&lt;br /&gt;
#define CONFIG_USB_ARCH_HAS_EHCI 1&lt;br /&gt;
#define CONFIG_USB_GADGET_VBUS_DRAW 2&lt;br /&gt;
#define CONFIG_USB_OTG_UTILS 1&lt;br /&gt;
#define CONFIG_USB_ARCH_HAS_OHCI 1&lt;br /&gt;
#define CONFIG_USB_ETH_MODULE 1&lt;br /&gt;
#define CONFIG_USB_MUSB_HDRC_HCD 1&lt;br /&gt;
#define CONFIG_USB_MON 1&lt;br /&gt;
#define CONFIG_USB_OTG 1&lt;br /&gt;
#define CONFIG_USB_EHCI_ROOT_HUB_TT 1&lt;br /&gt;
#define CONFIG_USB_SUSPEND 1&lt;br /&gt;
#define CONFIG_USB_SUPPORT 1&lt;br /&gt;
#define CONFIG_USB_EHCI_HCD 1&lt;br /&gt;
#define CONFIG_USB_DEVICEFS 1&lt;br /&gt;
#define CONFIG_USB_GADGET_SELECTED 1&lt;br /&gt;
#define CONFIG_USB_MUSB_SOC 1&lt;br /&gt;
#define CONFIG_USB_MUSB_OTG 1&lt;br /&gt;
#define CONFIG_USB_DEVICE_CLASS 1&lt;br /&gt;
#define CONFIG_USB_ARCH_HAS_HCD 1&lt;br /&gt;
#define CONFIG_USB_INVENTRA_DMA 1&lt;br /&gt;
#define CONFIG_USB 1&lt;br /&gt;
#define CONFIG_USB_GADGET_DUALSPEED 1&lt;br /&gt;
#define CONFIG_USB_GADGET 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| 4-22&lt;br /&gt;
| Makefile targets&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe/linux-omap-2.6$ make ARCH=arm help&lt;br /&gt;
Cleaning targets:&lt;br /&gt;
  clean		  - Remove most generated files but keep the config and&lt;br /&gt;
                    enough build support to build external modules&lt;br /&gt;
  mrproper	  - Remove all generated files + config + various backup files&lt;br /&gt;
  distclean	  - mrproper + remove editor backup and patch files&lt;br /&gt;
&lt;br /&gt;
Configuration targets:&lt;br /&gt;
  config	  - Update current config utilising a line-oriented program&lt;br /&gt;
  menuconfig	  - Update current config utilising a menu based program&lt;br /&gt;
  xconfig	  - Update current config utilising a QT based front-end&lt;br /&gt;
  gconfig	  - Update current config utilising a GTK based front-end&lt;br /&gt;
  oldconfig	  - Update current config utilising a provided .config as base&lt;br /&gt;
  localmodconfig  - Update current config disabling modules not loaded&lt;br /&gt;
  localyesconfig  - Update current config converting local mods to core&lt;br /&gt;
  silentoldconfig - Same as oldconfig, but quietly, additionally update deps&lt;br /&gt;
  randconfig	  - New config with random answer to all options&lt;br /&gt;
  defconfig	  - New config with default answer to all options&lt;br /&gt;
  allmodconfig	  - New config selecting modules when possible&lt;br /&gt;
  allyesconfig	  - New config where all options are accepted with yes&lt;br /&gt;
  allnoconfig	  - New config where all options are answered with no&lt;br /&gt;
&lt;br /&gt;
Other generic targets:&lt;br /&gt;
  all		  - Build all targets marked with [*]&lt;br /&gt;
* vmlinux	  - Build the bare kernel&lt;br /&gt;
* modules	  - Build all modules&lt;br /&gt;
  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)&lt;br /&gt;
  firmware_install- Install all firmware to INSTALL_FW_PATH&lt;br /&gt;
                    (default: $(INSTALL_MOD_PATH)/lib/firmware)&lt;br /&gt;
  dir/            - Build all files in dir and below&lt;br /&gt;
  dir/file.[ois]  - Build specified target only&lt;br /&gt;
  dir/file.ko     - Build module including final link&lt;br /&gt;
  modules_prepare - Set up for building external modules&lt;br /&gt;
  tags/TAGS	  - Generate tags file for editors&lt;br /&gt;
  cscope	  - Generate cscope index&lt;br /&gt;
  kernelrelease	  - Output the release version string&lt;br /&gt;
  kernelversion	  - Output the version stored in Makefile&lt;br /&gt;
  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH&lt;br /&gt;
                    (default: /dump/hw/oe/linux-omap-2.6/usr)&lt;br /&gt;
&lt;br /&gt;
Static analysers&lt;br /&gt;
  checkstack      - Generate a list of stack hogs&lt;br /&gt;
  namespacecheck  - Name space analysis on compiled kernel&lt;br /&gt;
  versioncheck    - Sanity check on version.h usage&lt;br /&gt;
  includecheck    - Check for duplicate included header files&lt;br /&gt;
  export_report   - List the usages of all exported symbols&lt;br /&gt;
  headers_check   - Sanity check on exported headers&lt;br /&gt;
  headerdep       - Detect inclusion cycles in headers&lt;br /&gt;
&lt;br /&gt;
Kernel packaging:&lt;br /&gt;
  rpm-pkg         - Build both source and binary RPM kernel packages&lt;br /&gt;
  binrpm-pkg      - Build only the binary kernel package&lt;br /&gt;
  deb-pkg         - Build the kernel as an deb package&lt;br /&gt;
  tar-pkg         - Build the kernel as an uncompressed tarball&lt;br /&gt;
  targz-pkg       - Build the kernel as a gzip compressed tarball&lt;br /&gt;
  tarbz2-pkg      - Build the kernel as a bzip2 compressed tarball&lt;br /&gt;
&lt;br /&gt;
Documentation targets:&lt;br /&gt;
 Linux kernel internal documentation in different formats:&lt;br /&gt;
  htmldocs        - HTML&lt;br /&gt;
  pdfdocs         - PDF&lt;br /&gt;
  psdocs          - Postscript&lt;br /&gt;
  xmldocs         - XML DocBook&lt;br /&gt;
  mandocs         - man pages&lt;br /&gt;
  installmandocs  - install man pages generated by mandocs&lt;br /&gt;
  cleandocs       - clean all generated DocBook files&lt;br /&gt;
&lt;br /&gt;
Architecture specific targets (arm):&lt;br /&gt;
* zImage        - Compressed kernel image (arch/arm/boot/zImage)&lt;br /&gt;
  Image         - Uncompressed kernel image (arch/arm/boot/Image)&lt;br /&gt;
* xipImage      - XIP kernel image, if configured (arch/arm/boot/xipImage)&lt;br /&gt;
  uImage        - U-Boot wrapped zImage&lt;br /&gt;
  bootpImage    - Combined zImage and initial RAM disk&lt;br /&gt;
                  (supply initrd image via make variable INITRD=&amp;lt;path&amp;gt;)&lt;br /&gt;
  install       - Install uncompressed kernel&lt;br /&gt;
  zinstall      - Install compressed kernel&lt;br /&gt;
                  Install using (your) ~/bin/installkernel or&lt;br /&gt;
                  (distribution) /sbin/installkernel or&lt;br /&gt;
                  install to $(INSTALL_PATH) and run lilo&lt;br /&gt;
&lt;br /&gt;
  acs5k_defconfig          - Build for acs5k&lt;br /&gt;
  acs5k_tiny_defconfig     - Build for acs5k_tiny&lt;br /&gt;
  afeb9260_defconfig       - Build for afeb9260&lt;br /&gt;
  am200epdkit_defconfig    - Build for am200epdkit&lt;br /&gt;
  am3517_evm_defconfig     - Build for am3517_evm&lt;br /&gt;
  ams_delta_defconfig      - Build for ams_delta&lt;br /&gt;
  assabet_defconfig        - Build for assabet&lt;br /&gt;
  at572d940hfek_defconfig  - Build for at572d940hfek&lt;br /&gt;
  at91cap9adk_defconfig    - Build for at91cap9adk&lt;br /&gt;
  at91rm9200dk_defconfig   - Build for at91rm9200dk&lt;br /&gt;
  at91rm9200ek_defconfig   - Build for at91rm9200ek&lt;br /&gt;
  at91sam9260ek_defconfig  - Build for at91sam9260ek&lt;br /&gt;
  at91sam9261ek_defconfig  - Build for at91sam9261ek&lt;br /&gt;
  at91sam9263ek_defconfig  - Build for at91sam9263ek&lt;br /&gt;
  at91sam9g20ek_defconfig  - Build for at91sam9g20ek&lt;br /&gt;
  at91sam9rlek_defconfig   - Build for at91sam9rlek&lt;br /&gt;
  ateb9200_defconfig       - Build for ateb9200&lt;br /&gt;
  badge4_defconfig         - Build for badge4&lt;br /&gt;
  bcmring_defconfig        - Build for bcmring&lt;br /&gt;
  cam60_defconfig          - Build for cam60&lt;br /&gt;
  carmeva_defconfig        - Build for carmeva&lt;br /&gt;
  cerfcube_defconfig       - Build for cerfcube&lt;br /&gt;
  cm_t35_defconfig         - Build for cm_t35&lt;br /&gt;
  cm_x2xx_defconfig        - Build for cm_x2xx&lt;br /&gt;
  cm_x300_defconfig        - Build for cm_x300&lt;br /&gt;
  colibri_pxa270_defconfig - Build for colibri_pxa270&lt;br /&gt;
  colibri_pxa300_defconfig - Build for colibri_pxa300&lt;br /&gt;
  collie_defconfig         - Build for collie&lt;br /&gt;
  corgi_defconfig          - Build for corgi&lt;br /&gt;
  cpu9260_defconfig        - Build for cpu9260&lt;br /&gt;
  cpu9g20_defconfig        - Build for cpu9g20&lt;br /&gt;
  cpuat91_defconfig        - Build for cpuat91&lt;br /&gt;
  csb337_defconfig         - Build for csb337&lt;br /&gt;
  csb637_defconfig         - Build for csb637&lt;br /&gt;
  da8xx_omapl_defconfig    - Build for da8xx_omapl&lt;br /&gt;
  davinci_all_defconfig    - Build for davinci_all&lt;br /&gt;
  devkit8000_defconfig     - Build for devkit8000&lt;br /&gt;
  dove_defconfig           - Build for dove&lt;br /&gt;
  ebsa110_defconfig        - Build for ebsa110&lt;br /&gt;
  ecbat91_defconfig        - Build for ecbat91&lt;br /&gt;
  edb7211_defconfig        - Build for edb7211&lt;br /&gt;
  em_x270_defconfig        - Build for em_x270&lt;br /&gt;
  ep93xx_defconfig         - Build for ep93xx&lt;br /&gt;
  eseries_pxa_defconfig    - Build for eseries_pxa&lt;br /&gt;
  ezx_defconfig            - Build for ezx&lt;br /&gt;
  footbridge_defconfig     - Build for footbridge&lt;br /&gt;
  fortunet_defconfig       - Build for fortunet&lt;br /&gt;
  h3600_defconfig          - Build for h3600&lt;br /&gt;
  h5000_defconfig          - Build for h5000&lt;br /&gt;
  h7201_defconfig          - Build for h7201&lt;br /&gt;
  h7202_defconfig          - Build for h7202&lt;br /&gt;
  hackkit_defconfig        - Build for hackkit&lt;br /&gt;
  htcherald_defconfig      - Build for htcherald&lt;br /&gt;
  igep0020_defconfig       - Build for igep0020&lt;br /&gt;
  integrator_defconfig     - Build for integrator&lt;br /&gt;
  iop13xx_defconfig        - Build for iop13xx&lt;br /&gt;
  iop32x_defconfig         - Build for iop32x&lt;br /&gt;
  iop33x_defconfig         - Build for iop33x&lt;br /&gt;
  ixp2000_defconfig        - Build for ixp2000&lt;br /&gt;
  ixp23xx_defconfig        - Build for ixp23xx&lt;br /&gt;
  ixp4xx_defconfig         - Build for ixp4xx&lt;br /&gt;
  jornada720_defconfig     - Build for jornada720&lt;br /&gt;
  kafa_defconfig           - Build for kafa&lt;br /&gt;
  kb9202_defconfig         - Build for kb9202&lt;br /&gt;
  kirkwood_defconfig       - Build for kirkwood&lt;br /&gt;
  ks8695_defconfig         - Build for ks8695&lt;br /&gt;
  lart_defconfig           - Build for lart&lt;br /&gt;
  loki_defconfig           - Build for loki&lt;br /&gt;
  lpd270_defconfig         - Build for lpd270&lt;br /&gt;
  lpd7a400_defconfig       - Build for lpd7a400&lt;br /&gt;
  lpd7a404_defconfig       - Build for lpd7a404&lt;br /&gt;
  lubbock_defconfig        - Build for lubbock&lt;br /&gt;
  lusl7200_defconfig       - Build for lusl7200&lt;br /&gt;
  magician_defconfig       - Build for magician&lt;br /&gt;
  mainstone_defconfig      - Build for mainstone&lt;br /&gt;
  mini2440_defconfig       - Build for mini2440&lt;br /&gt;
  msm_defconfig            - Build for msm&lt;br /&gt;
  mv78xx0_defconfig        - Build for mv78xx0&lt;br /&gt;
  mx1ads_defconfig         - Build for mx1ads&lt;br /&gt;
  mx1_defconfig            - Build for mx1&lt;br /&gt;
  mx21_defconfig           - Build for mx21&lt;br /&gt;
  mx27_defconfig           - Build for mx27&lt;br /&gt;
  mx31pdk_defconfig        - Build for mx31pdk&lt;br /&gt;
  mx3_defconfig            - Build for mx3&lt;br /&gt;
  n770_defconfig           - Build for n770&lt;br /&gt;
  n8x0_defconfig           - Build for n8x0&lt;br /&gt;
  neocore926_defconfig     - Build for neocore926&lt;br /&gt;
  neponset_defconfig       - Build for neponset&lt;br /&gt;
  netwinder_defconfig      - Build for netwinder&lt;br /&gt;
  netx_defconfig           - Build for netx&lt;br /&gt;
  nhk8815_defconfig        - Build for nhk8815&lt;br /&gt;
  ns9xxx_defconfig         - Build for ns9xxx&lt;br /&gt;
  nuc910_defconfig         - Build for nuc910&lt;br /&gt;
  nuc950_defconfig         - Build for nuc950&lt;br /&gt;
  nuc960_defconfig         - Build for nuc960&lt;br /&gt;
  omap_2430sdp_defconfig   - Build for omap_2430sdp&lt;br /&gt;
  omap_3430sdp_defconfig   - Build for omap_3430sdp&lt;br /&gt;
  omap_3630sdp_defconfig   - Build for omap_3630sdp&lt;br /&gt;
  omap3_beagle_defconfig   - Build for omap3_beagle&lt;br /&gt;
  omap3_defconfig          - Build for omap3&lt;br /&gt;
  omap3_evm_defconfig      - Build for omap3_evm&lt;br /&gt;
  omap3_pandora_defconfig  - Build for omap3_pandora&lt;br /&gt;
  omap3_touchbook_defconfig - Build for omap3_touchbook&lt;br /&gt;
  omap_4430sdp_defconfig   - Build for omap_4430sdp&lt;br /&gt;
  omap_apollon_2420_defconfig - Build for omap_apollon_2420&lt;br /&gt;
  omap_generic_1510_defconfig - Build for omap_generic_1510&lt;br /&gt;
  omap_generic_1610_defconfig - Build for omap_generic_1610&lt;br /&gt;
  omap_generic_1710_defconfig - Build for omap_generic_1710&lt;br /&gt;
  omap_generic_2420_defconfig - Build for omap_generic_2420&lt;br /&gt;
  omap_h2_1610_defconfig   - Build for omap_h2_1610&lt;br /&gt;
  omap_h4_2420_defconfig   - Build for omap_h4_2420&lt;br /&gt;
  omap_innovator_1510_defconfig - Build for omap_innovator_1510&lt;br /&gt;
  omap_innovator_1610_defconfig - Build for omap_innovator_1610&lt;br /&gt;
  omap_ldp_defconfig       - Build for omap_ldp&lt;br /&gt;
  omap_osk_5912_defconfig  - Build for omap_osk_5912&lt;br /&gt;
  omap_perseus2_730_defconfig - Build for omap_perseus2_730&lt;br /&gt;
  omap_zoom2_defconfig     - Build for omap_zoom2&lt;br /&gt;
  omap_zoom3_defconfig     - Build for omap_zoom3&lt;br /&gt;
  onearm_defconfig         - Build for onearm&lt;br /&gt;
  orion5x_defconfig        - Build for orion5x&lt;br /&gt;
  overo_defconfig          - Build for overo&lt;br /&gt;
  palmte_defconfig         - Build for palmte&lt;br /&gt;
  palmtt_defconfig         - Build for palmtt&lt;br /&gt;
  palmz71_defconfig        - Build for palmz71&lt;br /&gt;
  palmz72_defconfig        - Build for palmz72&lt;br /&gt;
  pcm027_defconfig         - Build for pcm027&lt;br /&gt;
  picotux200_defconfig     - Build for picotux200&lt;br /&gt;
  pleb_defconfig           - Build for pleb&lt;br /&gt;
  pnx4008_defconfig        - Build for pnx4008&lt;br /&gt;
  pxa168_defconfig         - Build for pxa168&lt;br /&gt;
  pxa255-idp_defconfig     - Build for pxa255-idp&lt;br /&gt;
  pxa3xx_defconfig         - Build for pxa3xx&lt;br /&gt;
  pxa910_defconfig         - Build for pxa910&lt;br /&gt;
  qil-a9260_defconfig      - Build for qil-a9260&lt;br /&gt;
  realview_defconfig       - Build for realview&lt;br /&gt;
  realview-smp_defconfig   - Build for realview-smp&lt;br /&gt;
  rpc_defconfig            - Build for rpc&lt;br /&gt;
  rx51_defconfig           - Build for rx51&lt;br /&gt;
  s3c2410_defconfig        - Build for s3c2410&lt;br /&gt;
  s3c6400_defconfig        - Build for s3c6400&lt;br /&gt;
  s5pc100_defconfig        - Build for s5pc100&lt;br /&gt;
  sam9_l9260_defconfig     - Build for sam9_l9260&lt;br /&gt;
  shannon_defconfig        - Build for shannon&lt;br /&gt;
  shark_defconfig          - Build for shark&lt;br /&gt;
  simpad_defconfig         - Build for simpad&lt;br /&gt;
  spitz_defconfig          - Build for spitz&lt;br /&gt;
  stmp378x_defconfig       - Build for stmp378x&lt;br /&gt;
  stmp37xx_defconfig       - Build for stmp37xx&lt;br /&gt;
  sx1_defconfig            - Build for sx1&lt;br /&gt;
  tct_hammer_defconfig     - Build for tct_hammer&lt;br /&gt;
  trizeps4_defconfig       - Build for trizeps4&lt;br /&gt;
  u300_defconfig           - Build for u300&lt;br /&gt;
  u8500_defconfig          - Build for u8500&lt;br /&gt;
  usb-a9260_defconfig      - Build for usb-a9260&lt;br /&gt;
  usb-a9263_defconfig      - Build for usb-a9263&lt;br /&gt;
  versatile_defconfig      - Build for versatile&lt;br /&gt;
  viper_defconfig          - Build for viper&lt;br /&gt;
  xcep_defconfig           - Build for xcep&lt;br /&gt;
  yl9200_defconfig         - Build for yl9200&lt;br /&gt;
  zeus_defconfig           - Build for zeus&lt;br /&gt;
&lt;br /&gt;
  make V=0|1 [targets] 0 =&amp;gt; quiet build (default), 1 =&amp;gt; verbose build&lt;br /&gt;
  make V=2   [targets] 2 =&amp;gt; give reason for rebuild of target&lt;br /&gt;
  make O=dir [targets] Locate all output files in &amp;quot;dir&amp;quot;, including .config&lt;br /&gt;
  make C=1   [targets] Check all c source with $CHECK (sparse by default)&lt;br /&gt;
  make C=2   [targets] Force check of all c source with $CHECK&lt;br /&gt;
&lt;br /&gt;
Execute &amp;quot;make&amp;quot; or &amp;quot;make all&amp;quot; to build all targets marked with [*] &lt;br /&gt;
For further info see the ./README file&lt;br /&gt;
|-&lt;br /&gt;
| 4-8&lt;br /&gt;
| 4-30&lt;br /&gt;
| Snippet from .../arch/arm/Konfig&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
   205 source &amp;quot;init/Kconfig&amp;quot;&lt;br /&gt;
    206 &lt;br /&gt;
    207 source &amp;quot;kernel/Kconfig.freezer&amp;quot;&lt;br /&gt;
    208 &lt;br /&gt;
    209 menu &amp;quot;System Type&amp;quot;&lt;br /&gt;
    210 &lt;br /&gt;
    211 config MMU&lt;br /&gt;
    212         bool &amp;quot;MMU-based Paged Memory Management Support&amp;quot;&lt;br /&gt;
    213         default y&lt;br /&gt;
    214         help&lt;br /&gt;
    215           Select if you want MMU-based virtualised addressing space&lt;br /&gt;
    216           support by paged memory management. If unsure, say 'Y'.&lt;br /&gt;
    217 &lt;br /&gt;
    218 choice&lt;br /&gt;
    219         prompt &amp;quot;ARM system type&amp;quot;&lt;br /&gt;
    220         default ARCH_VERSATILE&lt;br /&gt;
    783 source &amp;quot;arch/arm/mach-ixp4xx/Kconfig&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-9&lt;br /&gt;
| 4-30&lt;br /&gt;
| Snippet from .../arch/arm/mach-omap1/Konfig&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
      1 comment &amp;quot;OMAP Core Type&amp;quot;&lt;br /&gt;
      2         depends on ARCH_OMAP1&lt;br /&gt;
      3 &lt;br /&gt;
      4 config ARCH_OMAP730&lt;br /&gt;
      5         depends on ARCH_OMAP1&lt;br /&gt;
      6         bool &amp;quot;OMAP730 Based System&amp;quot;&lt;br /&gt;
      7         select CPU_ARM926T&lt;br /&gt;
      8         select ARCH_OMAP_OTG&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-10&lt;br /&gt;
| 4-32&lt;br /&gt;
| Customized .config file snippet&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
 257 CONFIG_MACH_OMAP3_BEAGLE=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-11&lt;br /&gt;
| 4-33&lt;br /&gt;
| .../arch/arm/mach-omap1 Kernel subdirectory&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Makefile for the linux kernel.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Common support&lt;br /&gt;
obj-y := io.o id.o sram.o irq.o mux.o flash.o serial.o devices.o&lt;br /&gt;
obj-y += clock.o clock_data.o opp_data.o&lt;br /&gt;
&lt;br /&gt;
obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o&lt;br /&gt;
&lt;br /&gt;
obj-$(CONFIG_OMAP_MPU_TIMER)	+= time.o&lt;br /&gt;
obj-$(CONFIG_OMAP_32K_TIMER)	+= timer32k.o&lt;br /&gt;
&lt;br /&gt;
# Power Management&lt;br /&gt;
obj-$(CONFIG_PM) += pm.o sleep.o&lt;br /&gt;
&lt;br /&gt;
# DSP&lt;br /&gt;
obj-$(CONFIG_OMAP_MBOX_FWK)	+= mailbox_mach.o&lt;br /&gt;
mailbox_mach-objs		:= mailbox.o&lt;br /&gt;
&lt;br /&gt;
i2c-omap-$(CONFIG_I2C_OMAP)		:= i2c.o&lt;br /&gt;
obj-y					+= $(i2c-omap-m) $(i2c-omap-y)&lt;br /&gt;
&lt;br /&gt;
led-y := leds.o&lt;br /&gt;
&lt;br /&gt;
# Specific board support&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_H2)		+= board-h2.o board-h2-mmc.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_INNOVATOR)	+= board-innovator.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_GENERIC)		+= board-generic.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PERSEUS2)	+= board-perseus2.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_FSAMPLE)		+= board-fsample.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_OSK)		+= board-osk.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_H3)		+= board-h3.o board-h3-mmc.o&lt;br /&gt;
obj-$(CONFIG_MACH_VOICEBLUE)		+= board-voiceblue.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PALMTE)		+= board-palmte.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PALMZ71)		+= board-palmz71.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PALMTT)		+= board-palmtt.o&lt;br /&gt;
obj-$(CONFIG_MACH_NOKIA770)		+= board-nokia770.o&lt;br /&gt;
obj-$(CONFIG_MACH_AMS_DELTA)		+= board-ams-delta.o&lt;br /&gt;
obj-$(CONFIG_MACH_SX1)			+= board-sx1.o board-sx1-mmc.o&lt;br /&gt;
obj-$(CONFIG_MACH_HERALD)		+= board-htcherald.o&lt;br /&gt;
&lt;br /&gt;
ifeq ($(CONFIG_ARCH_OMAP15XX),y)&lt;br /&gt;
# Innovator-1510 FPGA&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_INNOVATOR)	+= fpga.o&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
# LEDs support&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_H2)		+= leds-h2p2-debug.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_H3)		+= leds-h2p2-debug.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_INNOVATOR)	+= leds-innovator.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_PERSEUS2)	+= leds-h2p2-debug.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_OSK)		+= leds-osk.o&lt;br /&gt;
obj-$(CONFIG_LEDS)			+= $(led-y)&lt;br /&gt;
&lt;br /&gt;
ifneq ($(CONFIG_FB_OMAP),)&lt;br /&gt;
obj-y += lcd_dma.o&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-5&lt;br /&gt;
| 5-5&lt;br /&gt;
| Assembly file Piggy.S&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
      1         .section .piggydata,#alloc&lt;br /&gt;
      2         .globl  input_data&lt;br /&gt;
      3 input_data:&lt;br /&gt;
      4         .incbin &amp;quot;arch/arm/boot/compressed/piggy.gzip&amp;quot;&lt;br /&gt;
      5         .globl  input_data_end&lt;br /&gt;
      6 input_data_end:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-4&lt;br /&gt;
| 5-18&lt;br /&gt;
| Console setup Code Snippet&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    837 /*&lt;br /&gt;
    838  * Set up a list of consoles.  Called from init/main.c&lt;br /&gt;
    839  */&lt;br /&gt;
    840 static int __init console_setup(char *str)&lt;br /&gt;
    841 {&lt;br /&gt;
    842         char buf[sizeof(console_cmdline[0].name) + 4]; /* 4 for index */&lt;br /&gt;
    843         char *s, *options, *brl_options = NULL;&lt;br /&gt;
    844         int idx;&lt;br /&gt;
    845 &lt;br /&gt;
    846 #ifdef CONFIG_A11Y_BRAILLE_CONSOLE&lt;br /&gt;
    847         if (!memcmp(str, &amp;quot;brl,&amp;quot;, 4)) {&lt;br /&gt;
    848                 brl_options = &amp;quot;&amp;quot;;&lt;br /&gt;
    849                 str += 4;&lt;br /&gt;
    850         } else if (!memcmp(str, &amp;quot;brl=&amp;quot;, 4)) {&lt;br /&gt;
    851                 brl_options = str + 4;&lt;br /&gt;
    852                 str = strchr(brl_options, ',');&lt;br /&gt;
    853                 if (!str) {&lt;br /&gt;
    854                         printk(KERN_ERR &amp;quot;need port name after brl=\n&amp;quot;);&lt;br /&gt;
    855                         return 1;&lt;br /&gt;
    856                 }&lt;br /&gt;
    857                 *(str++) = 0;&lt;br /&gt;
    858         }&lt;br /&gt;
    859 #endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-8&lt;br /&gt;
| 5-19&lt;br /&gt;
| Family of __setup macro Definitions from init.h&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    224 /*&lt;br /&gt;
    225  * Only for really core code.  See moduleparam.h for the normal way.&lt;br /&gt;
    226  *&lt;br /&gt;
    227  * Force the alignment so the compiler doesn't space elements of the&lt;br /&gt;
    228  * obs_kernel_param &amp;quot;array&amp;quot; too far apart in .init.setup.&lt;br /&gt;
    229  */&lt;br /&gt;
    230 #define __setup_param(str, unique_id, fn, early)                        \&lt;br /&gt;
    231         static const char __setup_str_##unique_id[] __initconst \&lt;br /&gt;
    232                 __aligned(1) = str; \&lt;br /&gt;
    233         static struct obs_kernel_param __setup_##unique_id      \&lt;br /&gt;
    234                 __used __section(.init.setup)                   \&lt;br /&gt;
    235                 __attribute__((aligned((sizeof(long)))))        \&lt;br /&gt;
    236                 = { __setup_str_##unique_id, fn, early }&lt;br /&gt;
    237 &lt;br /&gt;
    238 #define __setup(str, fn)                                        \&lt;br /&gt;
    239         __setup_param(str, fn, fn, 0)&lt;br /&gt;
    240 &lt;br /&gt;
    241 /* NOTE: fn is as per module_param, not __setup!  Emits warning if fn&lt;br /&gt;
    242  * returns non-zero. */&lt;br /&gt;
    243 #define early_param(str, fn)                                    \&lt;br /&gt;
    244         __setup_param(str, fn, fn, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| 5-20&lt;br /&gt;
| Kernel Command Line Processing&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    204 extern struct obs_kernel_param __setup_start[], __setup_end[];&lt;br /&gt;
    205 &lt;br /&gt;
    206 static int __init obsolete_checksetup(char *line)&lt;br /&gt;
    207 {&lt;br /&gt;
    208         struct obs_kernel_param *p;&lt;br /&gt;
    209         int had_early_param = 0;&lt;br /&gt;
    210 &lt;br /&gt;
    211         p = __setup_start;&lt;br /&gt;
    212         do {&lt;br /&gt;
    213                 int n = strlen(p-&amp;gt;str);&lt;br /&gt;
    214                 if (!strncmp(line, p-&amp;gt;str, n)) {&lt;br /&gt;
    215                         if (p-&amp;gt;early) {&lt;br /&gt;
    216                                 /* Already done in parse_early_param?&lt;br /&gt;
    217                                  * (Needs exact match on param part).&lt;br /&gt;
    218                                  * Keep iterating, as we can have early&lt;br /&gt;
    219                                  * params and __setups of same names 8( */&lt;br /&gt;
    220                                 if (line[n] == '\0' || line[n] == '=')&lt;br /&gt;
    221                                         had_early_param = 1;&lt;br /&gt;
    222                         } else if (!p-&amp;gt;setup_func) {&lt;br /&gt;
    223                                 printk(KERN_WARNING &amp;quot;Parameter %s is obsolete,&amp;quot;&lt;br /&gt;
    224                                        &amp;quot; ignored\n&amp;quot;, p-&amp;gt;str);&lt;br /&gt;
    225                                 return 1;&lt;br /&gt;
    226                         } else if (p-&amp;gt;setup_func(line + n))&lt;br /&gt;
    227                                 return 1;&lt;br /&gt;
    228                 }&lt;br /&gt;
    229                 p++;&lt;br /&gt;
    230         } while (p &amp;lt; __setup_end);&lt;br /&gt;
    231 &lt;br /&gt;
    232         return had_early_param;&lt;br /&gt;
    233 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-7&lt;br /&gt;
| 5-23&lt;br /&gt;
| Example Initialization Routine&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    369 static struct machine_desc * __init setup_machine(unsigned int nr)&lt;br /&gt;
    370 {&lt;br /&gt;
    371         struct machine_desc *list;&lt;br /&gt;
    372 &lt;br /&gt;
    373         /*&lt;br /&gt;
    374          * locate machine in the list of supported machines.&lt;br /&gt;
    375          */&lt;br /&gt;
    376         list = lookup_machine_type(nr);&lt;br /&gt;
    377         if (!list) {&lt;br /&gt;
    378                 printk(&amp;quot;Machine configuration botched (nr %d), unable &amp;quot;&lt;br /&gt;
    379                        &amp;quot;to continue.\n&amp;quot;, nr);&lt;br /&gt;
    380                 while (1);&lt;br /&gt;
    381         }&lt;br /&gt;
    382 &lt;br /&gt;
    383         printk(&amp;quot;Machine: %s\n&amp;quot;, list-&amp;gt;name);&lt;br /&gt;
    384 &lt;br /&gt;
    385         return list;&lt;br /&gt;
    386 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-8&lt;br /&gt;
| 5-23&lt;br /&gt;
| Initcall Family of Macros&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    170 #define __define_initcall(level,fn,id) \&lt;br /&gt;
    171         static initcall_t __initcall_##fn##id __used \&lt;br /&gt;
    172         __attribute__((__section__(&amp;quot;.initcall&amp;quot; level &amp;quot;.init&amp;quot;))) = fn&lt;br /&gt;
    173 &lt;br /&gt;
    174 /*&lt;br /&gt;
    175  * Early initcalls run before initializing SMP.&lt;br /&gt;
    176  *&lt;br /&gt;
    177  * Only for built-in code, not modules.&lt;br /&gt;
    178  */&lt;br /&gt;
    179 #define early_initcall(fn)              __define_initcall(&amp;quot;early&amp;quot;,fn,early)&lt;br /&gt;
    180 &lt;br /&gt;
    181 /*&lt;br /&gt;
    182  * A &amp;quot;pure&amp;quot; initcall has no dependencies on anything else, and purely&lt;br /&gt;
    183  * initializes variables that couldn't be statically initialized.&lt;br /&gt;
    184  *&lt;br /&gt;
    185  * This only exists for built-in code, not for modules.&lt;br /&gt;
    186  */&lt;br /&gt;
    187 #define pure_initcall(fn)               __define_initcall(&amp;quot;0&amp;quot;,fn,0)&lt;br /&gt;
    188 &lt;br /&gt;
    189 #define core_initcall(fn)               __define_initcall(&amp;quot;1&amp;quot;,fn,1)&lt;br /&gt;
    190 #define core_initcall_sync(fn)          __define_initcall(&amp;quot;1s&amp;quot;,fn,1s)&lt;br /&gt;
    191 #define postcore_initcall(fn)           __define_initcall(&amp;quot;2&amp;quot;,fn,2)&lt;br /&gt;
    192 #define postcore_initcall_sync(fn)      __define_initcall(&amp;quot;2s&amp;quot;,fn,2s)&lt;br /&gt;
    193 #define arch_initcall(fn)               __define_initcall(&amp;quot;3&amp;quot;,fn,3)&lt;br /&gt;
    194 #define arch_initcall_sync(fn)          __define_initcall(&amp;quot;3s&amp;quot;,fn,3s)&lt;br /&gt;
    195 #define subsys_initcall(fn)             __define_initcall(&amp;quot;4&amp;quot;,fn,4)&lt;br /&gt;
    196 #define subsys_initcall_sync(fn)        __define_initcall(&amp;quot;4s&amp;quot;,fn,4s)&lt;br /&gt;
    197 #define fs_initcall(fn)                 __define_initcall(&amp;quot;5&amp;quot;,fn,5)&lt;br /&gt;
    198 #define fs_initcall_sync(fn)            __define_initcall(&amp;quot;5s&amp;quot;,fn,5s)&lt;br /&gt;
    199 #define rootfs_initcall(fn)             __define_initcall(&amp;quot;rootfs&amp;quot;,fn,rootfs)&lt;br /&gt;
    200 #define device_initcall(fn)             __define_initcall(&amp;quot;6&amp;quot;,fn,6)&lt;br /&gt;
    201 #define device_initcall_sync(fn)        __define_initcall(&amp;quot;6s&amp;quot;,fn,6s)&lt;br /&gt;
    202 #define late_initcall(fn)               __define_initcall(&amp;quot;7&amp;quot;,fn,7)&lt;br /&gt;
    203 #define late_initcall_sync(fn)          __define_initcall(&amp;quot;7s&amp;quot;,fn,7s)&lt;br /&gt;
    204 &lt;br /&gt;
    205 #define __initcall(fn) device_initcall(fn)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-9&lt;br /&gt;
| 5-26&lt;br /&gt;
| Creation of kernel init thread&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    424 static noinline void __init_refok rest_init(void)&lt;br /&gt;
    425         __releases(kernel_lock)&lt;br /&gt;
    426 {&lt;br /&gt;
    427         int pid;&lt;br /&gt;
    428 &lt;br /&gt;
    429         rcu_scheduler_starting();&lt;br /&gt;
    430         kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);&lt;br /&gt;
    431         numa_default_policy();&lt;br /&gt;
    432         pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES);&lt;br /&gt;
    433         rcu_read_lock();&lt;br /&gt;
    434         kthreadd_task = find_task_by_pid_ns(pid, &amp;amp;init_pid_ns);&lt;br /&gt;
    435         rcu_read_unlock();&lt;br /&gt;
    436         unlock_kernel();&lt;br /&gt;
    437 &lt;br /&gt;
    438         /*&lt;br /&gt;
    439          * The boot idle thread must execute schedule()&lt;br /&gt;
    440          * at least once to get things moving:&lt;br /&gt;
    441          */&lt;br /&gt;
    442         init_idle_bootup_task(current);&lt;br /&gt;
    443         preempt_enable_no_resched();&lt;br /&gt;
    444         schedule();&lt;br /&gt;
    445         preempt_disable();&lt;br /&gt;
    446 &lt;br /&gt;
    447         /* Call into cpu_idle with preempt disabled */&lt;br /&gt;
    448         cpu_idle();&lt;br /&gt;
    449 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-10&lt;br /&gt;
| 5-27&lt;br /&gt;
| Initialization via initcalls&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    765 extern initcall_t __initcall_start[], __initcall_end[], __early_initcall_end[];&lt;br /&gt;
    766 &lt;br /&gt;
    767 static void __init do_initcalls(void)&lt;br /&gt;
    768 {&lt;br /&gt;
    769         initcall_t *fn;&lt;br /&gt;
    770 &lt;br /&gt;
    771         for (fn = __early_initcall_end; fn &amp;lt; __initcall_end; fn++)&lt;br /&gt;
    772                 do_one_initcall(*fn);&lt;br /&gt;
    773 &lt;br /&gt;
    774         /* Make sure there is no pending stuff from the initcall sequence */&lt;br /&gt;
    775         flush_scheduled_work();&lt;br /&gt;
    776 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-11&lt;br /&gt;
| 5-28&lt;br /&gt;
| Final Kernel Boot Steps from main.c&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    814 static noinline int init_post(void)&lt;br /&gt;
    815         __releases(kernel_lock)&lt;br /&gt;
    816 {&lt;br /&gt;
    817         /* need to finish all async __init code before freeing the memory */&lt;br /&gt;
    818         async_synchronize_full();&lt;br /&gt;
    819         free_initmem();&lt;br /&gt;
    820         unlock_kernel();&lt;br /&gt;
    821         mark_rodata_ro();&lt;br /&gt;
    822         system_state = SYSTEM_RUNNING;&lt;br /&gt;
    823         numa_default_policy();&lt;br /&gt;
    824 &lt;br /&gt;
    825 &lt;br /&gt;
    826         current-&amp;gt;signal-&amp;gt;flags |= SIGNAL_UNKILLABLE;&lt;br /&gt;
    827 &lt;br /&gt;
    828         if (ramdisk_execute_command) {&lt;br /&gt;
    829                 run_init_process(ramdisk_execute_command);&lt;br /&gt;
    830                 printk(KERN_WARNING &amp;quot;Failed to execute %s\n&amp;quot;,&lt;br /&gt;
    831                                 ramdisk_execute_command);&lt;br /&gt;
    832         }&lt;br /&gt;
    833 &lt;br /&gt;
    834         /*&lt;br /&gt;
    835          * We try each of these until one succeeds.&lt;br /&gt;
    836          *&lt;br /&gt;
    837          * The Bourne shell can be used instead of init if we are&lt;br /&gt;
    838          * trying to recover a really broken machine.&lt;br /&gt;
    839          */&lt;br /&gt;
    840         if (execute_command) {&lt;br /&gt;
    841                 run_init_process(execute_command);&lt;br /&gt;
    842                 printk(KERN_WARNING &amp;quot;Failed to execute %s.  Attempting &amp;quot;&lt;br /&gt;
    843                                         &amp;quot;defaults...\n&amp;quot;, execute_command);&lt;br /&gt;
    844         }&lt;br /&gt;
    845         run_init_process(&amp;quot;/sbin/init&amp;quot;);&lt;br /&gt;
    846         run_init_process(&amp;quot;/etc/init&amp;quot;);&lt;br /&gt;
    847         run_init_process(&amp;quot;/bin/init&amp;quot;);&lt;br /&gt;
    848         run_init_process(&amp;quot;/bin/sh&amp;quot;);&lt;br /&gt;
    849 &lt;br /&gt;
    850         panic(&amp;quot;No init found.  Try passing init= option to kernel. &amp;quot;&lt;br /&gt;
    851               &amp;quot;See Linux Documentation/init.txt for guidance.&amp;quot;);&lt;br /&gt;
    852 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 6-1&lt;br /&gt;
| 6-7&lt;br /&gt;
| Final boot steps from main.c&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    840         if (execute_command) {&lt;br /&gt;
    841                 run_init_process(execute_command);&lt;br /&gt;
    842                 printk(KERN_WARNING &amp;quot;Failed to execute %s.  Attempting &amp;quot;&lt;br /&gt;
    843                                         &amp;quot;defaults...\n&amp;quot;, execute_command);&lt;br /&gt;
    844         }&lt;br /&gt;
    845         run_init_process(&amp;quot;/sbin/init&amp;quot;);&lt;br /&gt;
    846         run_init_process(&amp;quot;/etc/init&amp;quot;);&lt;br /&gt;
    847         run_init_process(&amp;quot;/bin/init&amp;quot;);&lt;br /&gt;
    848         run_init_process(&amp;quot;/bin/sh&amp;quot;);&lt;br /&gt;
    849 &lt;br /&gt;
    850         panic(&amp;quot;No init found.  Try passing init= option to kernel. &amp;quot;&lt;br /&gt;
    851               &amp;quot;See Linux Documentation/init.txt for guidance.&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 6-2&lt;br /&gt;
| 6-10&lt;br /&gt;
| NFS Restart&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 6-3&lt;br /&gt;
| 6-12&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 6-4&lt;br /&gt;
| 6-12&lt;br /&gt;
| Runlevel Directory Structure&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@ubuntu:~$ ls -d1 /etc/rc*&lt;br /&gt;
/etc/rc0.d&lt;br /&gt;
/etc/rc1.d&lt;br /&gt;
/etc/rc2.d&lt;br /&gt;
/etc/rc3.d&lt;br /&gt;
/etc/rc4.d&lt;br /&gt;
/etc/rc5.d&lt;br /&gt;
/etc/rc6.d&lt;br /&gt;
/etc/rc.local&lt;br /&gt;
/etc/rcS.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 6-5&lt;br /&gt;
| 6-12&lt;br /&gt;
| Example Runlevel Directory&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@ubuntu:~$ ls -lsa /etc/rc1.d/&lt;br /&gt;
total 20&lt;br /&gt;
 4 drwxr-xr-x   2 root root  4096 2010-03-08 14:14 .&lt;br /&gt;
12 drwxr-xr-x 131 root root 12288 2010-03-26 17:35 ..&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    20 2010-03-08 13:39 K15pulseaudio -&amp;gt; ../init.d/pulseaudio&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    22 2010-03-08 13:39 K20acpi-support -&amp;gt; ../init.d/acpi-support&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    20 2010-03-08 13:39 K20kerneloops -&amp;gt; ../init.d/kerneloops&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    15 2010-03-08 13:39 K20rsync -&amp;gt; ../init.d/rsync&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    15 2010-03-08 13:39 K20saned -&amp;gt; ../init.d/saned&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    27 2010-03-08 13:39 K20speech-dispatcher -&amp;gt; ../init.d/speech-dispatcher&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    19 2010-03-08 13:39 K74bluetooth -&amp;gt; ../init.d/bluetooth&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    14 2010-03-08 13:39 K80cups -&amp;gt; ../init.d/cups&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    21 2010-03-08 13:39 K99laptop-mode -&amp;gt; ../init.d/laptop-mode&lt;br /&gt;
 4 -rw-r--r--   1 root root   369 2009-09-07 14:58 README&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    19 2010-03-08 13:39 S30killprocs -&amp;gt; ../init.d/killprocs&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    19 2010-03-08 13:39 S70dns-clean -&amp;gt; ../init.d/dns-clean&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    18 2010-03-08 13:39 S70pppd-dns -&amp;gt; ../init.d/pppd-dns&lt;br /&gt;
 0 lrwxrwxrwx   1 root root    16 2010-03-08 13:39 S90single -&amp;gt; ../init.d/single&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Banistpw</name></author>	</entry>

	<entry>
		<id>http://elinux.org/User:Banistpw</id>
		<title>User:Banistpw</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/User:Banistpw"/>
				<updated>2010-03-22T01:25:33Z</updated>
		
		<summary type="html">&lt;p&gt;Banistpw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Paul Banister&lt;br /&gt;
&lt;br /&gt;
Senior CS/SE&lt;br /&gt;
&lt;br /&gt;
Very familiar but no expert with both Linux and C/C++. I hope to contribute good coding practices and design to a team more familiar with lower level background.&lt;br /&gt;
&lt;br /&gt;
Working on the [[ECE597: MythTV/DSP Pico Projector]] project for ECE597.&lt;br /&gt;
&lt;br /&gt;
[[Category:ECE597]]&lt;br /&gt;
&lt;br /&gt;
== Listings ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Number&lt;br /&gt;
! Page&lt;br /&gt;
! Caption&lt;br /&gt;
! Listing&lt;br /&gt;
|-&lt;br /&gt;
| 2-4&lt;br /&gt;
| 2-21&lt;br /&gt;
| Hello, World Wmbedded Style&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int bss_var;        /* Uninitialized global variable */&lt;br /&gt;
&lt;br /&gt;
int data_var = 1;   /* Initialized global variable */&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  void *stack_var;            /* Local variable on the stack */&lt;br /&gt;
  &lt;br /&gt;
  stack_var = (void *)main;   /* Don't let the compiler */&lt;br /&gt;
                              /* optimize it out */&lt;br /&gt;
&lt;br /&gt;
  printf(&amp;quot;Hello, World! Main is executing at %p\n&amp;quot;, stack_var);&lt;br /&gt;
  printf(&amp;quot;This address (%p) is in our stack frame\n&amp;quot;, &amp;amp;stack_var);&lt;br /&gt;
&lt;br /&gt;
  /* bss section contains uninitialized data */&lt;br /&gt;
  printf(&amp;quot;This address (%p) is in our bss section\n&amp;quot;, &amp;amp;bss_var);&lt;br /&gt;
&lt;br /&gt;
  /* data section contains initializated data */&lt;br /&gt;
  printf(&amp;quot;This address (%p) is in our data section\n&amp;quot;, &amp;amp;data_var);&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-3&lt;br /&gt;
| 4-15&lt;br /&gt;
| Kernel Subdirectory&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe$ ls -l linux-omap-2.6/arch/arm/mach-ixp4xx/&lt;br /&gt;
total 212&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1977 2010-03-11 23:14 avila-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  4658 2010-03-11 23:14 avila-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 12029 2010-03-11 23:14 common.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 12910 2010-03-11 23:14 common-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1599 2010-03-11 23:14 coyote-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  3452 2010-03-11 23:14 coyote-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2034 2010-03-11 23:14 dsmg600-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  7394 2010-03-11 23:14 dsmg600-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1748 2010-03-11 23:14 fsg-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  6795 2010-03-11 23:14 fsg-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1490 2010-03-11 23:14 gateway7001-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2646 2010-03-11 23:14 gateway7001-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 12465 2010-03-11 23:14 goramo_mlr.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2397 2010-03-11 23:14 gtwx5715-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  4738 2010-03-11 23:14 gtwx5715-setup.c&lt;br /&gt;
drwxrwx--x 3 brian elinux  4096 2010-03-11 23:14 include&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1892 2010-03-11 23:14 ixdp425-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  7610 2010-03-11 23:14 ixdp425-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1354 2010-03-11 23:14 ixdpg425-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 21565 2010-03-11 23:14 ixp4xx_npe.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  9350 2010-03-11 23:14 ixp4xx_qmgr.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  6431 2010-03-11 23:14 Kconfig&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1319 2010-03-11 23:14 Makefile&lt;br /&gt;
-rwxrwx--x 1 brian elinux    57 2010-03-11 23:14 Makefile.boot&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1869 2010-03-11 23:14 nas100d-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  8127 2010-03-11 23:14 nas100d-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1666 2010-03-11 23:14 nslu2-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  7147 2010-03-11 23:14 nslu2-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1468 2010-03-11 23:14 wg302v2-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2585 2010-03-11 23:14 wg302v2-setup.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-4&lt;br /&gt;
| 4-17&lt;br /&gt;
| USB in Linux 2.6 .config&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe/linux-omap-2.6$ cat .config | grep USB&lt;br /&gt;
# CONFIG_USB_ZD1201 is not set&lt;br /&gt;
# USB Network Adapters&lt;br /&gt;
# CONFIG_USB_CATC is not set&lt;br /&gt;
# CONFIG_USB_KAWETH is not set&lt;br /&gt;
# CONFIG_USB_PEGASUS is not set&lt;br /&gt;
# CONFIG_USB_RTL8150 is not set&lt;br /&gt;
# CONFIG_USB_USBNET is not set&lt;br /&gt;
# CONFIG_I2C_TINY_USB is not set&lt;br /&gt;
CONFIG_USB_SUPPORT=y&lt;br /&gt;
CONFIG_USB_ARCH_HAS_HCD=y&lt;br /&gt;
CONFIG_USB_ARCH_HAS_OHCI=y&lt;br /&gt;
CONFIG_USB_ARCH_HAS_EHCI=y&lt;br /&gt;
CONFIG_USB=y&lt;br /&gt;
# CONFIG_USB_DEBUG is not set&lt;br /&gt;
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set&lt;br /&gt;
# Miscellaneous USB options&lt;br /&gt;
CONFIG_USB_DEVICEFS=y&lt;br /&gt;
CONFIG_USB_DEVICE_CLASS=y&lt;br /&gt;
# CONFIG_USB_DYNAMIC_MINORS is not set&lt;br /&gt;
CONFIG_USB_SUSPEND=y&lt;br /&gt;
CONFIG_USB_OTG=y&lt;br /&gt;
# CONFIG_USB_OTG_WHITELIST is not set&lt;br /&gt;
# CONFIG_USB_OTG_BLACKLIST_HUB is not set&lt;br /&gt;
CONFIG_USB_MON=y&lt;br /&gt;
# CONFIG_USB_WUSB is not set&lt;br /&gt;
# CONFIG_USB_WUSB_CBAF is not set&lt;br /&gt;
# USB Host Controller Drivers&lt;br /&gt;
# CONFIG_USB_C67X00_HCD is not set&lt;br /&gt;
CONFIG_USB_EHCI_HCD=y&lt;br /&gt;
CONFIG_USB_EHCI_ROOT_HUB_TT=y&lt;br /&gt;
# CONFIG_USB_EHCI_TT_NEWSCHED is not set&lt;br /&gt;
# CONFIG_USB_OXU210HP_HCD is not set&lt;br /&gt;
# CONFIG_USB_ISP116X_HCD is not set&lt;br /&gt;
# CONFIG_USB_ISP1760_HCD is not set&lt;br /&gt;
# CONFIG_USB_ISP1362_HCD is not set&lt;br /&gt;
# CONFIG_USB_OHCI_HCD is not set&lt;br /&gt;
# CONFIG_USB_SL811_HCD is not set&lt;br /&gt;
# CONFIG_USB_R8A66597_HCD is not set&lt;br /&gt;
# CONFIG_USB_HWA_HCD is not set&lt;br /&gt;
CONFIG_USB_MUSB_HDRC=y&lt;br /&gt;
CONFIG_USB_MUSB_SOC=y&lt;br /&gt;
# OMAP 343x high speed USB support&lt;br /&gt;
# CONFIG_USB_MUSB_HOST is not set&lt;br /&gt;
# CONFIG_USB_MUSB_PERIPHERAL is not set&lt;br /&gt;
CONFIG_USB_MUSB_OTG=y&lt;br /&gt;
CONFIG_USB_GADGET_MUSB_HDRC=y&lt;br /&gt;
CONFIG_USB_MUSB_HDRC_HCD=y&lt;br /&gt;
# CONFIG_MUSB_PIO_ONLY is not set&lt;br /&gt;
CONFIG_USB_INVENTRA_DMA=y&lt;br /&gt;
# CONFIG_USB_TI_CPPI_DMA is not set&lt;br /&gt;
# CONFIG_USB_MUSB_DEBUG is not set&lt;br /&gt;
# USB Device Class drivers&lt;br /&gt;
# CONFIG_USB_ACM is not set&lt;br /&gt;
# CONFIG_USB_PRINTER is not set&lt;br /&gt;
# CONFIG_USB_WDM is not set&lt;br /&gt;
# CONFIG_USB_TMC is not set&lt;br /&gt;
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may&lt;br /&gt;
# also be needed; see USB_STORAGE Help for more info&lt;br /&gt;
# CONFIG_USB_STORAGE is not set&lt;br /&gt;
# CONFIG_USB_LIBUSUAL is not set&lt;br /&gt;
# USB Imaging devices&lt;br /&gt;
# CONFIG_USB_MDC800 is not set&lt;br /&gt;
# CONFIG_USB_MICROTEK is not set&lt;br /&gt;
# USB port drivers&lt;br /&gt;
# CONFIG_USB_SERIAL is not set&lt;br /&gt;
# USB Miscellaneous drivers&lt;br /&gt;
# CONFIG_USB_EMI62 is not set&lt;br /&gt;
# CONFIG_USB_EMI26 is not set&lt;br /&gt;
# CONFIG_USB_ADUTUX is not set&lt;br /&gt;
# CONFIG_USB_SEVSEG is not set&lt;br /&gt;
# CONFIG_USB_RIO500 is not set&lt;br /&gt;
# CONFIG_USB_LEGOTOWER is not set&lt;br /&gt;
# CONFIG_USB_LCD is not set&lt;br /&gt;
# CONFIG_USB_LED is not set&lt;br /&gt;
# CONFIG_USB_CYPRESS_CY7C63 is not set&lt;br /&gt;
# CONFIG_USB_CYTHERM is not set&lt;br /&gt;
# CONFIG_USB_IDMOUSE is not set&lt;br /&gt;
# CONFIG_USB_FTDI_ELAN is not set&lt;br /&gt;
# CONFIG_USB_APPLEDISPLAY is not set&lt;br /&gt;
# CONFIG_USB_SISUSBVGA is not set&lt;br /&gt;
# CONFIG_USB_LD is not set&lt;br /&gt;
# CONFIG_USB_TRANCEVIBRATOR is not set&lt;br /&gt;
# CONFIG_USB_IOWARRIOR is not set&lt;br /&gt;
# CONFIG_USB_TEST is not set&lt;br /&gt;
# CONFIG_USB_ISIGHTFW is not set&lt;br /&gt;
CONFIG_USB_GADGET=y&lt;br /&gt;
# CONFIG_USB_GADGET_DEBUG is not set&lt;br /&gt;
# CONFIG_USB_GADGET_DEBUG_FILES is not set&lt;br /&gt;
CONFIG_USB_GADGET_VBUS_DRAW=2&lt;br /&gt;
CONFIG_USB_GADGET_SELECTED=y&lt;br /&gt;
# CONFIG_USB_GADGET_AT91 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_ATMEL_USBA is not set&lt;br /&gt;
# CONFIG_USB_GADGET_FSL_USB2 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_LH7A40X is not set&lt;br /&gt;
# CONFIG_USB_GADGET_OMAP is not set&lt;br /&gt;
# CONFIG_USB_GADGET_PXA25X is not set&lt;br /&gt;
# CONFIG_USB_GADGET_R8A66597 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_PXA27X is not set&lt;br /&gt;
# CONFIG_USB_GADGET_S3C_HSOTG is not set&lt;br /&gt;
# CONFIG_USB_GADGET_IMX is not set&lt;br /&gt;
# CONFIG_USB_GADGET_S3C2410 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_M66592 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_AMD5536UDC is not set&lt;br /&gt;
# CONFIG_USB_GADGET_FSL_QE is not set&lt;br /&gt;
# CONFIG_USB_GADGET_CI13XXX is not set&lt;br /&gt;
# CONFIG_USB_GADGET_NET2280 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_GOKU is not set&lt;br /&gt;
# CONFIG_USB_GADGET_LANGWELL is not set&lt;br /&gt;
# CONFIG_USB_GADGET_DUMMY_HCD is not set&lt;br /&gt;
CONFIG_USB_GADGET_DUALSPEED=y&lt;br /&gt;
# CONFIG_USB_ZERO is not set&lt;br /&gt;
# CONFIG_USB_AUDIO is not set&lt;br /&gt;
CONFIG_USB_ETH=m&lt;br /&gt;
CONFIG_USB_ETH_RNDIS=y&lt;br /&gt;
# CONFIG_USB_ETH_EEM is not set&lt;br /&gt;
# CONFIG_USB_GADGETFS is not set&lt;br /&gt;
# CONFIG_USB_FILE_STORAGE is not set&lt;br /&gt;
# CONFIG_USB_MASS_STORAGE is not set&lt;br /&gt;
# CONFIG_USB_G_SERIAL is not set&lt;br /&gt;
# CONFIG_USB_MIDI_GADGET is not set&lt;br /&gt;
# CONFIG_USB_G_PRINTER is not set&lt;br /&gt;
# CONFIG_USB_CDC_COMPOSITE is not set&lt;br /&gt;
# CONFIG_USB_G_NOKIA is not set&lt;br /&gt;
# CONFIG_USB_G_MULTI is not set&lt;br /&gt;
CONFIG_USB_OTG_UTILS=y&lt;br /&gt;
# CONFIG_USB_GPIO_VBUS is not set&lt;br /&gt;
# CONFIG_USB_ULPI is not set&lt;br /&gt;
CONFIG_TWL4030_USB=y&lt;br /&gt;
# CONFIG_NOP_USB_XCEIV is not set&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| 4-21&lt;br /&gt;
| Linux autoconf.h&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe/linux-omap-2.6$ cat include/generated/autoconf.h | grep CONFIG_USB&lt;br /&gt;
#define CONFIG_USB_MUSB_HDRC 1&lt;br /&gt;
#define CONFIG_USB_ETH_RNDIS 1&lt;br /&gt;
#define CONFIG_USB_GADGET_MUSB_HDRC 1&lt;br /&gt;
#define CONFIG_USB_ARCH_HAS_EHCI 1&lt;br /&gt;
#define CONFIG_USB_GADGET_VBUS_DRAW 2&lt;br /&gt;
#define CONFIG_USB_OTG_UTILS 1&lt;br /&gt;
#define CONFIG_USB_ARCH_HAS_OHCI 1&lt;br /&gt;
#define CONFIG_USB_ETH_MODULE 1&lt;br /&gt;
#define CONFIG_USB_MUSB_HDRC_HCD 1&lt;br /&gt;
#define CONFIG_USB_MON 1&lt;br /&gt;
#define CONFIG_USB_OTG 1&lt;br /&gt;
#define CONFIG_USB_EHCI_ROOT_HUB_TT 1&lt;br /&gt;
#define CONFIG_USB_SUSPEND 1&lt;br /&gt;
#define CONFIG_USB_SUPPORT 1&lt;br /&gt;
#define CONFIG_USB_EHCI_HCD 1&lt;br /&gt;
#define CONFIG_USB_DEVICEFS 1&lt;br /&gt;
#define CONFIG_USB_GADGET_SELECTED 1&lt;br /&gt;
#define CONFIG_USB_MUSB_SOC 1&lt;br /&gt;
#define CONFIG_USB_MUSB_OTG 1&lt;br /&gt;
#define CONFIG_USB_DEVICE_CLASS 1&lt;br /&gt;
#define CONFIG_USB_ARCH_HAS_HCD 1&lt;br /&gt;
#define CONFIG_USB_INVENTRA_DMA 1&lt;br /&gt;
#define CONFIG_USB 1&lt;br /&gt;
#define CONFIG_USB_GADGET_DUALSPEED 1&lt;br /&gt;
#define CONFIG_USB_GADGET 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| 4-22&lt;br /&gt;
| Makefile targets&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe/linux-omap-2.6$ make ARCH=arm help&lt;br /&gt;
Cleaning targets:&lt;br /&gt;
  clean		  - Remove most generated files but keep the config and&lt;br /&gt;
                    enough build support to build external modules&lt;br /&gt;
  mrproper	  - Remove all generated files + config + various backup files&lt;br /&gt;
  distclean	  - mrproper + remove editor backup and patch files&lt;br /&gt;
&lt;br /&gt;
Configuration targets:&lt;br /&gt;
  config	  - Update current config utilising a line-oriented program&lt;br /&gt;
  menuconfig	  - Update current config utilising a menu based program&lt;br /&gt;
  xconfig	  - Update current config utilising a QT based front-end&lt;br /&gt;
  gconfig	  - Update current config utilising a GTK based front-end&lt;br /&gt;
  oldconfig	  - Update current config utilising a provided .config as base&lt;br /&gt;
  localmodconfig  - Update current config disabling modules not loaded&lt;br /&gt;
  localyesconfig  - Update current config converting local mods to core&lt;br /&gt;
  silentoldconfig - Same as oldconfig, but quietly, additionally update deps&lt;br /&gt;
  randconfig	  - New config with random answer to all options&lt;br /&gt;
  defconfig	  - New config with default answer to all options&lt;br /&gt;
  allmodconfig	  - New config selecting modules when possible&lt;br /&gt;
  allyesconfig	  - New config where all options are accepted with yes&lt;br /&gt;
  allnoconfig	  - New config where all options are answered with no&lt;br /&gt;
&lt;br /&gt;
Other generic targets:&lt;br /&gt;
  all		  - Build all targets marked with [*]&lt;br /&gt;
* vmlinux	  - Build the bare kernel&lt;br /&gt;
* modules	  - Build all modules&lt;br /&gt;
  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)&lt;br /&gt;
  firmware_install- Install all firmware to INSTALL_FW_PATH&lt;br /&gt;
                    (default: $(INSTALL_MOD_PATH)/lib/firmware)&lt;br /&gt;
  dir/            - Build all files in dir and below&lt;br /&gt;
  dir/file.[ois]  - Build specified target only&lt;br /&gt;
  dir/file.ko     - Build module including final link&lt;br /&gt;
  modules_prepare - Set up for building external modules&lt;br /&gt;
  tags/TAGS	  - Generate tags file for editors&lt;br /&gt;
  cscope	  - Generate cscope index&lt;br /&gt;
  kernelrelease	  - Output the release version string&lt;br /&gt;
  kernelversion	  - Output the version stored in Makefile&lt;br /&gt;
  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH&lt;br /&gt;
                    (default: /dump/hw/oe/linux-omap-2.6/usr)&lt;br /&gt;
&lt;br /&gt;
Static analysers&lt;br /&gt;
  checkstack      - Generate a list of stack hogs&lt;br /&gt;
  namespacecheck  - Name space analysis on compiled kernel&lt;br /&gt;
  versioncheck    - Sanity check on version.h usage&lt;br /&gt;
  includecheck    - Check for duplicate included header files&lt;br /&gt;
  export_report   - List the usages of all exported symbols&lt;br /&gt;
  headers_check   - Sanity check on exported headers&lt;br /&gt;
  headerdep       - Detect inclusion cycles in headers&lt;br /&gt;
&lt;br /&gt;
Kernel packaging:&lt;br /&gt;
  rpm-pkg         - Build both source and binary RPM kernel packages&lt;br /&gt;
  binrpm-pkg      - Build only the binary kernel package&lt;br /&gt;
  deb-pkg         - Build the kernel as an deb package&lt;br /&gt;
  tar-pkg         - Build the kernel as an uncompressed tarball&lt;br /&gt;
  targz-pkg       - Build the kernel as a gzip compressed tarball&lt;br /&gt;
  tarbz2-pkg      - Build the kernel as a bzip2 compressed tarball&lt;br /&gt;
&lt;br /&gt;
Documentation targets:&lt;br /&gt;
 Linux kernel internal documentation in different formats:&lt;br /&gt;
  htmldocs        - HTML&lt;br /&gt;
  pdfdocs         - PDF&lt;br /&gt;
  psdocs          - Postscript&lt;br /&gt;
  xmldocs         - XML DocBook&lt;br /&gt;
  mandocs         - man pages&lt;br /&gt;
  installmandocs  - install man pages generated by mandocs&lt;br /&gt;
  cleandocs       - clean all generated DocBook files&lt;br /&gt;
&lt;br /&gt;
Architecture specific targets (arm):&lt;br /&gt;
* zImage        - Compressed kernel image (arch/arm/boot/zImage)&lt;br /&gt;
  Image         - Uncompressed kernel image (arch/arm/boot/Image)&lt;br /&gt;
* xipImage      - XIP kernel image, if configured (arch/arm/boot/xipImage)&lt;br /&gt;
  uImage        - U-Boot wrapped zImage&lt;br /&gt;
  bootpImage    - Combined zImage and initial RAM disk&lt;br /&gt;
                  (supply initrd image via make variable INITRD=&amp;lt;path&amp;gt;)&lt;br /&gt;
  install       - Install uncompressed kernel&lt;br /&gt;
  zinstall      - Install compressed kernel&lt;br /&gt;
                  Install using (your) ~/bin/installkernel or&lt;br /&gt;
                  (distribution) /sbin/installkernel or&lt;br /&gt;
                  install to $(INSTALL_PATH) and run lilo&lt;br /&gt;
&lt;br /&gt;
  acs5k_defconfig          - Build for acs5k&lt;br /&gt;
  acs5k_tiny_defconfig     - Build for acs5k_tiny&lt;br /&gt;
  afeb9260_defconfig       - Build for afeb9260&lt;br /&gt;
  am200epdkit_defconfig    - Build for am200epdkit&lt;br /&gt;
  am3517_evm_defconfig     - Build for am3517_evm&lt;br /&gt;
  ams_delta_defconfig      - Build for ams_delta&lt;br /&gt;
  assabet_defconfig        - Build for assabet&lt;br /&gt;
  at572d940hfek_defconfig  - Build for at572d940hfek&lt;br /&gt;
  at91cap9adk_defconfig    - Build for at91cap9adk&lt;br /&gt;
  at91rm9200dk_defconfig   - Build for at91rm9200dk&lt;br /&gt;
  at91rm9200ek_defconfig   - Build for at91rm9200ek&lt;br /&gt;
  at91sam9260ek_defconfig  - Build for at91sam9260ek&lt;br /&gt;
  at91sam9261ek_defconfig  - Build for at91sam9261ek&lt;br /&gt;
  at91sam9263ek_defconfig  - Build for at91sam9263ek&lt;br /&gt;
  at91sam9g20ek_defconfig  - Build for at91sam9g20ek&lt;br /&gt;
  at91sam9rlek_defconfig   - Build for at91sam9rlek&lt;br /&gt;
  ateb9200_defconfig       - Build for ateb9200&lt;br /&gt;
  badge4_defconfig         - Build for badge4&lt;br /&gt;
  bcmring_defconfig        - Build for bcmring&lt;br /&gt;
  cam60_defconfig          - Build for cam60&lt;br /&gt;
  carmeva_defconfig        - Build for carmeva&lt;br /&gt;
  cerfcube_defconfig       - Build for cerfcube&lt;br /&gt;
  cm_t35_defconfig         - Build for cm_t35&lt;br /&gt;
  cm_x2xx_defconfig        - Build for cm_x2xx&lt;br /&gt;
  cm_x300_defconfig        - Build for cm_x300&lt;br /&gt;
  colibri_pxa270_defconfig - Build for colibri_pxa270&lt;br /&gt;
  colibri_pxa300_defconfig - Build for colibri_pxa300&lt;br /&gt;
  collie_defconfig         - Build for collie&lt;br /&gt;
  corgi_defconfig          - Build for corgi&lt;br /&gt;
  cpu9260_defconfig        - Build for cpu9260&lt;br /&gt;
  cpu9g20_defconfig        - Build for cpu9g20&lt;br /&gt;
  cpuat91_defconfig        - Build for cpuat91&lt;br /&gt;
  csb337_defconfig         - Build for csb337&lt;br /&gt;
  csb637_defconfig         - Build for csb637&lt;br /&gt;
  da8xx_omapl_defconfig    - Build for da8xx_omapl&lt;br /&gt;
  davinci_all_defconfig    - Build for davinci_all&lt;br /&gt;
  devkit8000_defconfig     - Build for devkit8000&lt;br /&gt;
  dove_defconfig           - Build for dove&lt;br /&gt;
  ebsa110_defconfig        - Build for ebsa110&lt;br /&gt;
  ecbat91_defconfig        - Build for ecbat91&lt;br /&gt;
  edb7211_defconfig        - Build for edb7211&lt;br /&gt;
  em_x270_defconfig        - Build for em_x270&lt;br /&gt;
  ep93xx_defconfig         - Build for ep93xx&lt;br /&gt;
  eseries_pxa_defconfig    - Build for eseries_pxa&lt;br /&gt;
  ezx_defconfig            - Build for ezx&lt;br /&gt;
  footbridge_defconfig     - Build for footbridge&lt;br /&gt;
  fortunet_defconfig       - Build for fortunet&lt;br /&gt;
  h3600_defconfig          - Build for h3600&lt;br /&gt;
  h5000_defconfig          - Build for h5000&lt;br /&gt;
  h7201_defconfig          - Build for h7201&lt;br /&gt;
  h7202_defconfig          - Build for h7202&lt;br /&gt;
  hackkit_defconfig        - Build for hackkit&lt;br /&gt;
  htcherald_defconfig      - Build for htcherald&lt;br /&gt;
  igep0020_defconfig       - Build for igep0020&lt;br /&gt;
  integrator_defconfig     - Build for integrator&lt;br /&gt;
  iop13xx_defconfig        - Build for iop13xx&lt;br /&gt;
  iop32x_defconfig         - Build for iop32x&lt;br /&gt;
  iop33x_defconfig         - Build for iop33x&lt;br /&gt;
  ixp2000_defconfig        - Build for ixp2000&lt;br /&gt;
  ixp23xx_defconfig        - Build for ixp23xx&lt;br /&gt;
  ixp4xx_defconfig         - Build for ixp4xx&lt;br /&gt;
  jornada720_defconfig     - Build for jornada720&lt;br /&gt;
  kafa_defconfig           - Build for kafa&lt;br /&gt;
  kb9202_defconfig         - Build for kb9202&lt;br /&gt;
  kirkwood_defconfig       - Build for kirkwood&lt;br /&gt;
  ks8695_defconfig         - Build for ks8695&lt;br /&gt;
  lart_defconfig           - Build for lart&lt;br /&gt;
  loki_defconfig           - Build for loki&lt;br /&gt;
  lpd270_defconfig         - Build for lpd270&lt;br /&gt;
  lpd7a400_defconfig       - Build for lpd7a400&lt;br /&gt;
  lpd7a404_defconfig       - Build for lpd7a404&lt;br /&gt;
  lubbock_defconfig        - Build for lubbock&lt;br /&gt;
  lusl7200_defconfig       - Build for lusl7200&lt;br /&gt;
  magician_defconfig       - Build for magician&lt;br /&gt;
  mainstone_defconfig      - Build for mainstone&lt;br /&gt;
  mini2440_defconfig       - Build for mini2440&lt;br /&gt;
  msm_defconfig            - Build for msm&lt;br /&gt;
  mv78xx0_defconfig        - Build for mv78xx0&lt;br /&gt;
  mx1ads_defconfig         - Build for mx1ads&lt;br /&gt;
  mx1_defconfig            - Build for mx1&lt;br /&gt;
  mx21_defconfig           - Build for mx21&lt;br /&gt;
  mx27_defconfig           - Build for mx27&lt;br /&gt;
  mx31pdk_defconfig        - Build for mx31pdk&lt;br /&gt;
  mx3_defconfig            - Build for mx3&lt;br /&gt;
  n770_defconfig           - Build for n770&lt;br /&gt;
  n8x0_defconfig           - Build for n8x0&lt;br /&gt;
  neocore926_defconfig     - Build for neocore926&lt;br /&gt;
  neponset_defconfig       - Build for neponset&lt;br /&gt;
  netwinder_defconfig      - Build for netwinder&lt;br /&gt;
  netx_defconfig           - Build for netx&lt;br /&gt;
  nhk8815_defconfig        - Build for nhk8815&lt;br /&gt;
  ns9xxx_defconfig         - Build for ns9xxx&lt;br /&gt;
  nuc910_defconfig         - Build for nuc910&lt;br /&gt;
  nuc950_defconfig         - Build for nuc950&lt;br /&gt;
  nuc960_defconfig         - Build for nuc960&lt;br /&gt;
  omap_2430sdp_defconfig   - Build for omap_2430sdp&lt;br /&gt;
  omap_3430sdp_defconfig   - Build for omap_3430sdp&lt;br /&gt;
  omap_3630sdp_defconfig   - Build for omap_3630sdp&lt;br /&gt;
  omap3_beagle_defconfig   - Build for omap3_beagle&lt;br /&gt;
  omap3_defconfig          - Build for omap3&lt;br /&gt;
  omap3_evm_defconfig      - Build for omap3_evm&lt;br /&gt;
  omap3_pandora_defconfig  - Build for omap3_pandora&lt;br /&gt;
  omap3_touchbook_defconfig - Build for omap3_touchbook&lt;br /&gt;
  omap_4430sdp_defconfig   - Build for omap_4430sdp&lt;br /&gt;
  omap_apollon_2420_defconfig - Build for omap_apollon_2420&lt;br /&gt;
  omap_generic_1510_defconfig - Build for omap_generic_1510&lt;br /&gt;
  omap_generic_1610_defconfig - Build for omap_generic_1610&lt;br /&gt;
  omap_generic_1710_defconfig - Build for omap_generic_1710&lt;br /&gt;
  omap_generic_2420_defconfig - Build for omap_generic_2420&lt;br /&gt;
  omap_h2_1610_defconfig   - Build for omap_h2_1610&lt;br /&gt;
  omap_h4_2420_defconfig   - Build for omap_h4_2420&lt;br /&gt;
  omap_innovator_1510_defconfig - Build for omap_innovator_1510&lt;br /&gt;
  omap_innovator_1610_defconfig - Build for omap_innovator_1610&lt;br /&gt;
  omap_ldp_defconfig       - Build for omap_ldp&lt;br /&gt;
  omap_osk_5912_defconfig  - Build for omap_osk_5912&lt;br /&gt;
  omap_perseus2_730_defconfig - Build for omap_perseus2_730&lt;br /&gt;
  omap_zoom2_defconfig     - Build for omap_zoom2&lt;br /&gt;
  omap_zoom3_defconfig     - Build for omap_zoom3&lt;br /&gt;
  onearm_defconfig         - Build for onearm&lt;br /&gt;
  orion5x_defconfig        - Build for orion5x&lt;br /&gt;
  overo_defconfig          - Build for overo&lt;br /&gt;
  palmte_defconfig         - Build for palmte&lt;br /&gt;
  palmtt_defconfig         - Build for palmtt&lt;br /&gt;
  palmz71_defconfig        - Build for palmz71&lt;br /&gt;
  palmz72_defconfig        - Build for palmz72&lt;br /&gt;
  pcm027_defconfig         - Build for pcm027&lt;br /&gt;
  picotux200_defconfig     - Build for picotux200&lt;br /&gt;
  pleb_defconfig           - Build for pleb&lt;br /&gt;
  pnx4008_defconfig        - Build for pnx4008&lt;br /&gt;
  pxa168_defconfig         - Build for pxa168&lt;br /&gt;
  pxa255-idp_defconfig     - Build for pxa255-idp&lt;br /&gt;
  pxa3xx_defconfig         - Build for pxa3xx&lt;br /&gt;
  pxa910_defconfig         - Build for pxa910&lt;br /&gt;
  qil-a9260_defconfig      - Build for qil-a9260&lt;br /&gt;
  realview_defconfig       - Build for realview&lt;br /&gt;
  realview-smp_defconfig   - Build for realview-smp&lt;br /&gt;
  rpc_defconfig            - Build for rpc&lt;br /&gt;
  rx51_defconfig           - Build for rx51&lt;br /&gt;
  s3c2410_defconfig        - Build for s3c2410&lt;br /&gt;
  s3c6400_defconfig        - Build for s3c6400&lt;br /&gt;
  s5pc100_defconfig        - Build for s5pc100&lt;br /&gt;
  sam9_l9260_defconfig     - Build for sam9_l9260&lt;br /&gt;
  shannon_defconfig        - Build for shannon&lt;br /&gt;
  shark_defconfig          - Build for shark&lt;br /&gt;
  simpad_defconfig         - Build for simpad&lt;br /&gt;
  spitz_defconfig          - Build for spitz&lt;br /&gt;
  stmp378x_defconfig       - Build for stmp378x&lt;br /&gt;
  stmp37xx_defconfig       - Build for stmp37xx&lt;br /&gt;
  sx1_defconfig            - Build for sx1&lt;br /&gt;
  tct_hammer_defconfig     - Build for tct_hammer&lt;br /&gt;
  trizeps4_defconfig       - Build for trizeps4&lt;br /&gt;
  u300_defconfig           - Build for u300&lt;br /&gt;
  u8500_defconfig          - Build for u8500&lt;br /&gt;
  usb-a9260_defconfig      - Build for usb-a9260&lt;br /&gt;
  usb-a9263_defconfig      - Build for usb-a9263&lt;br /&gt;
  versatile_defconfig      - Build for versatile&lt;br /&gt;
  viper_defconfig          - Build for viper&lt;br /&gt;
  xcep_defconfig           - Build for xcep&lt;br /&gt;
  yl9200_defconfig         - Build for yl9200&lt;br /&gt;
  zeus_defconfig           - Build for zeus&lt;br /&gt;
&lt;br /&gt;
  make V=0|1 [targets] 0 =&amp;gt; quiet build (default), 1 =&amp;gt; verbose build&lt;br /&gt;
  make V=2   [targets] 2 =&amp;gt; give reason for rebuild of target&lt;br /&gt;
  make O=dir [targets] Locate all output files in &amp;quot;dir&amp;quot;, including .config&lt;br /&gt;
  make C=1   [targets] Check all c source with $CHECK (sparse by default)&lt;br /&gt;
  make C=2   [targets] Force check of all c source with $CHECK&lt;br /&gt;
&lt;br /&gt;
Execute &amp;quot;make&amp;quot; or &amp;quot;make all&amp;quot; to build all targets marked with [*] &lt;br /&gt;
For further info see the ./README file&lt;br /&gt;
|-&lt;br /&gt;
| 4-8&lt;br /&gt;
| 4-30&lt;br /&gt;
| Snippet from .../arch/arm/Konfig&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
   205 source &amp;quot;init/Kconfig&amp;quot;&lt;br /&gt;
    206 &lt;br /&gt;
    207 source &amp;quot;kernel/Kconfig.freezer&amp;quot;&lt;br /&gt;
    208 &lt;br /&gt;
    209 menu &amp;quot;System Type&amp;quot;&lt;br /&gt;
    210 &lt;br /&gt;
    211 config MMU&lt;br /&gt;
    212         bool &amp;quot;MMU-based Paged Memory Management Support&amp;quot;&lt;br /&gt;
    213         default y&lt;br /&gt;
    214         help&lt;br /&gt;
    215           Select if you want MMU-based virtualised addressing space&lt;br /&gt;
    216           support by paged memory management. If unsure, say 'Y'.&lt;br /&gt;
    217 &lt;br /&gt;
    218 choice&lt;br /&gt;
    219         prompt &amp;quot;ARM system type&amp;quot;&lt;br /&gt;
    220         default ARCH_VERSATILE&lt;br /&gt;
    783 source &amp;quot;arch/arm/mach-ixp4xx/Kconfig&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-9&lt;br /&gt;
| 4-30&lt;br /&gt;
| Snippet from .../arch/arm/mach-omap1/Konfig&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
      1 comment &amp;quot;OMAP Core Type&amp;quot;&lt;br /&gt;
      2         depends on ARCH_OMAP1&lt;br /&gt;
      3 &lt;br /&gt;
      4 config ARCH_OMAP730&lt;br /&gt;
      5         depends on ARCH_OMAP1&lt;br /&gt;
      6         bool &amp;quot;OMAP730 Based System&amp;quot;&lt;br /&gt;
      7         select CPU_ARM926T&lt;br /&gt;
      8         select ARCH_OMAP_OTG&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-10&lt;br /&gt;
| 4-32&lt;br /&gt;
| Customized .config file snippet&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
 257 CONFIG_MACH_OMAP3_BEAGLE=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-11&lt;br /&gt;
| 4-33&lt;br /&gt;
| .../arch/arm/mach-omap1 Kernel subdirectory&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Makefile for the linux kernel.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Common support&lt;br /&gt;
obj-y := io.o id.o sram.o irq.o mux.o flash.o serial.o devices.o&lt;br /&gt;
obj-y += clock.o clock_data.o opp_data.o&lt;br /&gt;
&lt;br /&gt;
obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o&lt;br /&gt;
&lt;br /&gt;
obj-$(CONFIG_OMAP_MPU_TIMER)	+= time.o&lt;br /&gt;
obj-$(CONFIG_OMAP_32K_TIMER)	+= timer32k.o&lt;br /&gt;
&lt;br /&gt;
# Power Management&lt;br /&gt;
obj-$(CONFIG_PM) += pm.o sleep.o&lt;br /&gt;
&lt;br /&gt;
# DSP&lt;br /&gt;
obj-$(CONFIG_OMAP_MBOX_FWK)	+= mailbox_mach.o&lt;br /&gt;
mailbox_mach-objs		:= mailbox.o&lt;br /&gt;
&lt;br /&gt;
i2c-omap-$(CONFIG_I2C_OMAP)		:= i2c.o&lt;br /&gt;
obj-y					+= $(i2c-omap-m) $(i2c-omap-y)&lt;br /&gt;
&lt;br /&gt;
led-y := leds.o&lt;br /&gt;
&lt;br /&gt;
# Specific board support&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_H2)		+= board-h2.o board-h2-mmc.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_INNOVATOR)	+= board-innovator.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_GENERIC)		+= board-generic.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PERSEUS2)	+= board-perseus2.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_FSAMPLE)		+= board-fsample.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_OSK)		+= board-osk.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_H3)		+= board-h3.o board-h3-mmc.o&lt;br /&gt;
obj-$(CONFIG_MACH_VOICEBLUE)		+= board-voiceblue.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PALMTE)		+= board-palmte.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PALMZ71)		+= board-palmz71.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PALMTT)		+= board-palmtt.o&lt;br /&gt;
obj-$(CONFIG_MACH_NOKIA770)		+= board-nokia770.o&lt;br /&gt;
obj-$(CONFIG_MACH_AMS_DELTA)		+= board-ams-delta.o&lt;br /&gt;
obj-$(CONFIG_MACH_SX1)			+= board-sx1.o board-sx1-mmc.o&lt;br /&gt;
obj-$(CONFIG_MACH_HERALD)		+= board-htcherald.o&lt;br /&gt;
&lt;br /&gt;
ifeq ($(CONFIG_ARCH_OMAP15XX),y)&lt;br /&gt;
# Innovator-1510 FPGA&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_INNOVATOR)	+= fpga.o&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
# LEDs support&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_H2)		+= leds-h2p2-debug.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_H3)		+= leds-h2p2-debug.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_INNOVATOR)	+= leds-innovator.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_PERSEUS2)	+= leds-h2p2-debug.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_OSK)		+= leds-osk.o&lt;br /&gt;
obj-$(CONFIG_LEDS)			+= $(led-y)&lt;br /&gt;
&lt;br /&gt;
ifneq ($(CONFIG_FB_OMAP),)&lt;br /&gt;
obj-y += lcd_dma.o&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-5&lt;br /&gt;
| 5-5&lt;br /&gt;
| Assembly file Piggy.S&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
      1         .section .piggydata,#alloc&lt;br /&gt;
      2         .globl  input_data&lt;br /&gt;
      3 input_data:&lt;br /&gt;
      4         .incbin &amp;quot;arch/arm/boot/compressed/piggy.gzip&amp;quot;&lt;br /&gt;
      5         .globl  input_data_end&lt;br /&gt;
      6 input_data_end:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-4&lt;br /&gt;
| 5-18&lt;br /&gt;
| Console setup Code Snippet&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    837 /*&lt;br /&gt;
    838  * Set up a list of consoles.  Called from init/main.c&lt;br /&gt;
    839  */&lt;br /&gt;
    840 static int __init console_setup(char *str)&lt;br /&gt;
    841 {&lt;br /&gt;
    842         char buf[sizeof(console_cmdline[0].name) + 4]; /* 4 for index */&lt;br /&gt;
    843         char *s, *options, *brl_options = NULL;&lt;br /&gt;
    844         int idx;&lt;br /&gt;
    845 &lt;br /&gt;
    846 #ifdef CONFIG_A11Y_BRAILLE_CONSOLE&lt;br /&gt;
    847         if (!memcmp(str, &amp;quot;brl,&amp;quot;, 4)) {&lt;br /&gt;
    848                 brl_options = &amp;quot;&amp;quot;;&lt;br /&gt;
    849                 str += 4;&lt;br /&gt;
    850         } else if (!memcmp(str, &amp;quot;brl=&amp;quot;, 4)) {&lt;br /&gt;
    851                 brl_options = str + 4;&lt;br /&gt;
    852                 str = strchr(brl_options, ',');&lt;br /&gt;
    853                 if (!str) {&lt;br /&gt;
    854                         printk(KERN_ERR &amp;quot;need port name after brl=\n&amp;quot;);&lt;br /&gt;
    855                         return 1;&lt;br /&gt;
    856                 }&lt;br /&gt;
    857                 *(str++) = 0;&lt;br /&gt;
    858         }&lt;br /&gt;
    859 #endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-8&lt;br /&gt;
| 5-19&lt;br /&gt;
| Family of __setup macro Definitions from init.h&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    224 /*&lt;br /&gt;
    225  * Only for really core code.  See moduleparam.h for the normal way.&lt;br /&gt;
    226  *&lt;br /&gt;
    227  * Force the alignment so the compiler doesn't space elements of the&lt;br /&gt;
    228  * obs_kernel_param &amp;quot;array&amp;quot; too far apart in .init.setup.&lt;br /&gt;
    229  */&lt;br /&gt;
    230 #define __setup_param(str, unique_id, fn, early)                        \&lt;br /&gt;
    231         static const char __setup_str_##unique_id[] __initconst \&lt;br /&gt;
    232                 __aligned(1) = str; \&lt;br /&gt;
    233         static struct obs_kernel_param __setup_##unique_id      \&lt;br /&gt;
    234                 __used __section(.init.setup)                   \&lt;br /&gt;
    235                 __attribute__((aligned((sizeof(long)))))        \&lt;br /&gt;
    236                 = { __setup_str_##unique_id, fn, early }&lt;br /&gt;
    237 &lt;br /&gt;
    238 #define __setup(str, fn)                                        \&lt;br /&gt;
    239         __setup_param(str, fn, fn, 0)&lt;br /&gt;
    240 &lt;br /&gt;
    241 /* NOTE: fn is as per module_param, not __setup!  Emits warning if fn&lt;br /&gt;
    242  * returns non-zero. */&lt;br /&gt;
    243 #define early_param(str, fn)                                    \&lt;br /&gt;
    244         __setup_param(str, fn, fn, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| 5-20&lt;br /&gt;
| Kernel Command Line Processing&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    204 extern struct obs_kernel_param __setup_start[], __setup_end[];&lt;br /&gt;
    205 &lt;br /&gt;
    206 static int __init obsolete_checksetup(char *line)&lt;br /&gt;
    207 {&lt;br /&gt;
    208         struct obs_kernel_param *p;&lt;br /&gt;
    209         int had_early_param = 0;&lt;br /&gt;
    210 &lt;br /&gt;
    211         p = __setup_start;&lt;br /&gt;
    212         do {&lt;br /&gt;
    213                 int n = strlen(p-&amp;gt;str);&lt;br /&gt;
    214                 if (!strncmp(line, p-&amp;gt;str, n)) {&lt;br /&gt;
    215                         if (p-&amp;gt;early) {&lt;br /&gt;
    216                                 /* Already done in parse_early_param?&lt;br /&gt;
    217                                  * (Needs exact match on param part).&lt;br /&gt;
    218                                  * Keep iterating, as we can have early&lt;br /&gt;
    219                                  * params and __setups of same names 8( */&lt;br /&gt;
    220                                 if (line[n] == '\0' || line[n] == '=')&lt;br /&gt;
    221                                         had_early_param = 1;&lt;br /&gt;
    222                         } else if (!p-&amp;gt;setup_func) {&lt;br /&gt;
    223                                 printk(KERN_WARNING &amp;quot;Parameter %s is obsolete,&amp;quot;&lt;br /&gt;
    224                                        &amp;quot; ignored\n&amp;quot;, p-&amp;gt;str);&lt;br /&gt;
    225                                 return 1;&lt;br /&gt;
    226                         } else if (p-&amp;gt;setup_func(line + n))&lt;br /&gt;
    227                                 return 1;&lt;br /&gt;
    228                 }&lt;br /&gt;
    229                 p++;&lt;br /&gt;
    230         } while (p &amp;lt; __setup_end);&lt;br /&gt;
    231 &lt;br /&gt;
    232         return had_early_param;&lt;br /&gt;
    233 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Banistpw</name></author>	</entry>

	<entry>
		<id>http://elinux.org/User:Banistpw</id>
		<title>User:Banistpw</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/User:Banistpw"/>
				<updated>2010-03-22T01:19:49Z</updated>
		
		<summary type="html">&lt;p&gt;Banistpw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Paul Banister&lt;br /&gt;
&lt;br /&gt;
Senior CS/SE&lt;br /&gt;
&lt;br /&gt;
Very familiar but no expert with both Linux and C/C++. I hope to contribute good coding practices and design to a team more familiar with lower level background.&lt;br /&gt;
&lt;br /&gt;
[[Category:ECE597]]&lt;br /&gt;
&lt;br /&gt;
== Listings ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Number&lt;br /&gt;
! Page&lt;br /&gt;
! Caption&lt;br /&gt;
! Listing&lt;br /&gt;
|-&lt;br /&gt;
| 2-4&lt;br /&gt;
| 2-21&lt;br /&gt;
| Hello, World Wmbedded Style&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int bss_var;        /* Uninitialized global variable */&lt;br /&gt;
&lt;br /&gt;
int data_var = 1;   /* Initialized global variable */&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  void *stack_var;            /* Local variable on the stack */&lt;br /&gt;
  &lt;br /&gt;
  stack_var = (void *)main;   /* Don't let the compiler */&lt;br /&gt;
                              /* optimize it out */&lt;br /&gt;
&lt;br /&gt;
  printf(&amp;quot;Hello, World! Main is executing at %p\n&amp;quot;, stack_var);&lt;br /&gt;
  printf(&amp;quot;This address (%p) is in our stack frame\n&amp;quot;, &amp;amp;stack_var);&lt;br /&gt;
&lt;br /&gt;
  /* bss section contains uninitialized data */&lt;br /&gt;
  printf(&amp;quot;This address (%p) is in our bss section\n&amp;quot;, &amp;amp;bss_var);&lt;br /&gt;
&lt;br /&gt;
  /* data section contains initializated data */&lt;br /&gt;
  printf(&amp;quot;This address (%p) is in our data section\n&amp;quot;, &amp;amp;data_var);&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-3&lt;br /&gt;
| 4-15&lt;br /&gt;
| Kernel Subdirectory&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe$ ls -l linux-omap-2.6/arch/arm/mach-ixp4xx/&lt;br /&gt;
total 212&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1977 2010-03-11 23:14 avila-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  4658 2010-03-11 23:14 avila-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 12029 2010-03-11 23:14 common.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 12910 2010-03-11 23:14 common-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1599 2010-03-11 23:14 coyote-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  3452 2010-03-11 23:14 coyote-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2034 2010-03-11 23:14 dsmg600-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  7394 2010-03-11 23:14 dsmg600-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1748 2010-03-11 23:14 fsg-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  6795 2010-03-11 23:14 fsg-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1490 2010-03-11 23:14 gateway7001-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2646 2010-03-11 23:14 gateway7001-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 12465 2010-03-11 23:14 goramo_mlr.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2397 2010-03-11 23:14 gtwx5715-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  4738 2010-03-11 23:14 gtwx5715-setup.c&lt;br /&gt;
drwxrwx--x 3 brian elinux  4096 2010-03-11 23:14 include&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1892 2010-03-11 23:14 ixdp425-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  7610 2010-03-11 23:14 ixdp425-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1354 2010-03-11 23:14 ixdpg425-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux 21565 2010-03-11 23:14 ixp4xx_npe.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  9350 2010-03-11 23:14 ixp4xx_qmgr.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  6431 2010-03-11 23:14 Kconfig&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1319 2010-03-11 23:14 Makefile&lt;br /&gt;
-rwxrwx--x 1 brian elinux    57 2010-03-11 23:14 Makefile.boot&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1869 2010-03-11 23:14 nas100d-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  8127 2010-03-11 23:14 nas100d-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1666 2010-03-11 23:14 nslu2-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  7147 2010-03-11 23:14 nslu2-setup.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  1468 2010-03-11 23:14 wg302v2-pci.c&lt;br /&gt;
-rwxrwx--x 1 brian elinux  2585 2010-03-11 23:14 wg302v2-setup.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-4&lt;br /&gt;
| 4-17&lt;br /&gt;
| USB in Linux 2.6 .config&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe/linux-omap-2.6$ cat .config | grep USB&lt;br /&gt;
# CONFIG_USB_ZD1201 is not set&lt;br /&gt;
# USB Network Adapters&lt;br /&gt;
# CONFIG_USB_CATC is not set&lt;br /&gt;
# CONFIG_USB_KAWETH is not set&lt;br /&gt;
# CONFIG_USB_PEGASUS is not set&lt;br /&gt;
# CONFIG_USB_RTL8150 is not set&lt;br /&gt;
# CONFIG_USB_USBNET is not set&lt;br /&gt;
# CONFIG_I2C_TINY_USB is not set&lt;br /&gt;
CONFIG_USB_SUPPORT=y&lt;br /&gt;
CONFIG_USB_ARCH_HAS_HCD=y&lt;br /&gt;
CONFIG_USB_ARCH_HAS_OHCI=y&lt;br /&gt;
CONFIG_USB_ARCH_HAS_EHCI=y&lt;br /&gt;
CONFIG_USB=y&lt;br /&gt;
# CONFIG_USB_DEBUG is not set&lt;br /&gt;
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set&lt;br /&gt;
# Miscellaneous USB options&lt;br /&gt;
CONFIG_USB_DEVICEFS=y&lt;br /&gt;
CONFIG_USB_DEVICE_CLASS=y&lt;br /&gt;
# CONFIG_USB_DYNAMIC_MINORS is not set&lt;br /&gt;
CONFIG_USB_SUSPEND=y&lt;br /&gt;
CONFIG_USB_OTG=y&lt;br /&gt;
# CONFIG_USB_OTG_WHITELIST is not set&lt;br /&gt;
# CONFIG_USB_OTG_BLACKLIST_HUB is not set&lt;br /&gt;
CONFIG_USB_MON=y&lt;br /&gt;
# CONFIG_USB_WUSB is not set&lt;br /&gt;
# CONFIG_USB_WUSB_CBAF is not set&lt;br /&gt;
# USB Host Controller Drivers&lt;br /&gt;
# CONFIG_USB_C67X00_HCD is not set&lt;br /&gt;
CONFIG_USB_EHCI_HCD=y&lt;br /&gt;
CONFIG_USB_EHCI_ROOT_HUB_TT=y&lt;br /&gt;
# CONFIG_USB_EHCI_TT_NEWSCHED is not set&lt;br /&gt;
# CONFIG_USB_OXU210HP_HCD is not set&lt;br /&gt;
# CONFIG_USB_ISP116X_HCD is not set&lt;br /&gt;
# CONFIG_USB_ISP1760_HCD is not set&lt;br /&gt;
# CONFIG_USB_ISP1362_HCD is not set&lt;br /&gt;
# CONFIG_USB_OHCI_HCD is not set&lt;br /&gt;
# CONFIG_USB_SL811_HCD is not set&lt;br /&gt;
# CONFIG_USB_R8A66597_HCD is not set&lt;br /&gt;
# CONFIG_USB_HWA_HCD is not set&lt;br /&gt;
CONFIG_USB_MUSB_HDRC=y&lt;br /&gt;
CONFIG_USB_MUSB_SOC=y&lt;br /&gt;
# OMAP 343x high speed USB support&lt;br /&gt;
# CONFIG_USB_MUSB_HOST is not set&lt;br /&gt;
# CONFIG_USB_MUSB_PERIPHERAL is not set&lt;br /&gt;
CONFIG_USB_MUSB_OTG=y&lt;br /&gt;
CONFIG_USB_GADGET_MUSB_HDRC=y&lt;br /&gt;
CONFIG_USB_MUSB_HDRC_HCD=y&lt;br /&gt;
# CONFIG_MUSB_PIO_ONLY is not set&lt;br /&gt;
CONFIG_USB_INVENTRA_DMA=y&lt;br /&gt;
# CONFIG_USB_TI_CPPI_DMA is not set&lt;br /&gt;
# CONFIG_USB_MUSB_DEBUG is not set&lt;br /&gt;
# USB Device Class drivers&lt;br /&gt;
# CONFIG_USB_ACM is not set&lt;br /&gt;
# CONFIG_USB_PRINTER is not set&lt;br /&gt;
# CONFIG_USB_WDM is not set&lt;br /&gt;
# CONFIG_USB_TMC is not set&lt;br /&gt;
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may&lt;br /&gt;
# also be needed; see USB_STORAGE Help for more info&lt;br /&gt;
# CONFIG_USB_STORAGE is not set&lt;br /&gt;
# CONFIG_USB_LIBUSUAL is not set&lt;br /&gt;
# USB Imaging devices&lt;br /&gt;
# CONFIG_USB_MDC800 is not set&lt;br /&gt;
# CONFIG_USB_MICROTEK is not set&lt;br /&gt;
# USB port drivers&lt;br /&gt;
# CONFIG_USB_SERIAL is not set&lt;br /&gt;
# USB Miscellaneous drivers&lt;br /&gt;
# CONFIG_USB_EMI62 is not set&lt;br /&gt;
# CONFIG_USB_EMI26 is not set&lt;br /&gt;
# CONFIG_USB_ADUTUX is not set&lt;br /&gt;
# CONFIG_USB_SEVSEG is not set&lt;br /&gt;
# CONFIG_USB_RIO500 is not set&lt;br /&gt;
# CONFIG_USB_LEGOTOWER is not set&lt;br /&gt;
# CONFIG_USB_LCD is not set&lt;br /&gt;
# CONFIG_USB_LED is not set&lt;br /&gt;
# CONFIG_USB_CYPRESS_CY7C63 is not set&lt;br /&gt;
# CONFIG_USB_CYTHERM is not set&lt;br /&gt;
# CONFIG_USB_IDMOUSE is not set&lt;br /&gt;
# CONFIG_USB_FTDI_ELAN is not set&lt;br /&gt;
# CONFIG_USB_APPLEDISPLAY is not set&lt;br /&gt;
# CONFIG_USB_SISUSBVGA is not set&lt;br /&gt;
# CONFIG_USB_LD is not set&lt;br /&gt;
# CONFIG_USB_TRANCEVIBRATOR is not set&lt;br /&gt;
# CONFIG_USB_IOWARRIOR is not set&lt;br /&gt;
# CONFIG_USB_TEST is not set&lt;br /&gt;
# CONFIG_USB_ISIGHTFW is not set&lt;br /&gt;
CONFIG_USB_GADGET=y&lt;br /&gt;
# CONFIG_USB_GADGET_DEBUG is not set&lt;br /&gt;
# CONFIG_USB_GADGET_DEBUG_FILES is not set&lt;br /&gt;
CONFIG_USB_GADGET_VBUS_DRAW=2&lt;br /&gt;
CONFIG_USB_GADGET_SELECTED=y&lt;br /&gt;
# CONFIG_USB_GADGET_AT91 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_ATMEL_USBA is not set&lt;br /&gt;
# CONFIG_USB_GADGET_FSL_USB2 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_LH7A40X is not set&lt;br /&gt;
# CONFIG_USB_GADGET_OMAP is not set&lt;br /&gt;
# CONFIG_USB_GADGET_PXA25X is not set&lt;br /&gt;
# CONFIG_USB_GADGET_R8A66597 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_PXA27X is not set&lt;br /&gt;
# CONFIG_USB_GADGET_S3C_HSOTG is not set&lt;br /&gt;
# CONFIG_USB_GADGET_IMX is not set&lt;br /&gt;
# CONFIG_USB_GADGET_S3C2410 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_M66592 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_AMD5536UDC is not set&lt;br /&gt;
# CONFIG_USB_GADGET_FSL_QE is not set&lt;br /&gt;
# CONFIG_USB_GADGET_CI13XXX is not set&lt;br /&gt;
# CONFIG_USB_GADGET_NET2280 is not set&lt;br /&gt;
# CONFIG_USB_GADGET_GOKU is not set&lt;br /&gt;
# CONFIG_USB_GADGET_LANGWELL is not set&lt;br /&gt;
# CONFIG_USB_GADGET_DUMMY_HCD is not set&lt;br /&gt;
CONFIG_USB_GADGET_DUALSPEED=y&lt;br /&gt;
# CONFIG_USB_ZERO is not set&lt;br /&gt;
# CONFIG_USB_AUDIO is not set&lt;br /&gt;
CONFIG_USB_ETH=m&lt;br /&gt;
CONFIG_USB_ETH_RNDIS=y&lt;br /&gt;
# CONFIG_USB_ETH_EEM is not set&lt;br /&gt;
# CONFIG_USB_GADGETFS is not set&lt;br /&gt;
# CONFIG_USB_FILE_STORAGE is not set&lt;br /&gt;
# CONFIG_USB_MASS_STORAGE is not set&lt;br /&gt;
# CONFIG_USB_G_SERIAL is not set&lt;br /&gt;
# CONFIG_USB_MIDI_GADGET is not set&lt;br /&gt;
# CONFIG_USB_G_PRINTER is not set&lt;br /&gt;
# CONFIG_USB_CDC_COMPOSITE is not set&lt;br /&gt;
# CONFIG_USB_G_NOKIA is not set&lt;br /&gt;
# CONFIG_USB_G_MULTI is not set&lt;br /&gt;
CONFIG_USB_OTG_UTILS=y&lt;br /&gt;
# CONFIG_USB_GPIO_VBUS is not set&lt;br /&gt;
# CONFIG_USB_ULPI is not set&lt;br /&gt;
CONFIG_TWL4030_USB=y&lt;br /&gt;
# CONFIG_NOP_USB_XCEIV is not set&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| 4-21&lt;br /&gt;
| Linux autoconf.h&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe/linux-omap-2.6$ cat include/generated/autoconf.h | grep CONFIG_USB&lt;br /&gt;
#define CONFIG_USB_MUSB_HDRC 1&lt;br /&gt;
#define CONFIG_USB_ETH_RNDIS 1&lt;br /&gt;
#define CONFIG_USB_GADGET_MUSB_HDRC 1&lt;br /&gt;
#define CONFIG_USB_ARCH_HAS_EHCI 1&lt;br /&gt;
#define CONFIG_USB_GADGET_VBUS_DRAW 2&lt;br /&gt;
#define CONFIG_USB_OTG_UTILS 1&lt;br /&gt;
#define CONFIG_USB_ARCH_HAS_OHCI 1&lt;br /&gt;
#define CONFIG_USB_ETH_MODULE 1&lt;br /&gt;
#define CONFIG_USB_MUSB_HDRC_HCD 1&lt;br /&gt;
#define CONFIG_USB_MON 1&lt;br /&gt;
#define CONFIG_USB_OTG 1&lt;br /&gt;
#define CONFIG_USB_EHCI_ROOT_HUB_TT 1&lt;br /&gt;
#define CONFIG_USB_SUSPEND 1&lt;br /&gt;
#define CONFIG_USB_SUPPORT 1&lt;br /&gt;
#define CONFIG_USB_EHCI_HCD 1&lt;br /&gt;
#define CONFIG_USB_DEVICEFS 1&lt;br /&gt;
#define CONFIG_USB_GADGET_SELECTED 1&lt;br /&gt;
#define CONFIG_USB_MUSB_SOC 1&lt;br /&gt;
#define CONFIG_USB_MUSB_OTG 1&lt;br /&gt;
#define CONFIG_USB_DEVICE_CLASS 1&lt;br /&gt;
#define CONFIG_USB_ARCH_HAS_HCD 1&lt;br /&gt;
#define CONFIG_USB_INVENTRA_DMA 1&lt;br /&gt;
#define CONFIG_USB 1&lt;br /&gt;
#define CONFIG_USB_GADGET_DUALSPEED 1&lt;br /&gt;
#define CONFIG_USB_GADGET 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| 4-22&lt;br /&gt;
| Makefile targets&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
banistpw@Kratos:/dump/hw/oe/linux-omap-2.6$ make ARCH=arm help&lt;br /&gt;
Cleaning targets:&lt;br /&gt;
  clean		  - Remove most generated files but keep the config and&lt;br /&gt;
                    enough build support to build external modules&lt;br /&gt;
  mrproper	  - Remove all generated files + config + various backup files&lt;br /&gt;
  distclean	  - mrproper + remove editor backup and patch files&lt;br /&gt;
&lt;br /&gt;
Configuration targets:&lt;br /&gt;
  config	  - Update current config utilising a line-oriented program&lt;br /&gt;
  menuconfig	  - Update current config utilising a menu based program&lt;br /&gt;
  xconfig	  - Update current config utilising a QT based front-end&lt;br /&gt;
  gconfig	  - Update current config utilising a GTK based front-end&lt;br /&gt;
  oldconfig	  - Update current config utilising a provided .config as base&lt;br /&gt;
  localmodconfig  - Update current config disabling modules not loaded&lt;br /&gt;
  localyesconfig  - Update current config converting local mods to core&lt;br /&gt;
  silentoldconfig - Same as oldconfig, but quietly, additionally update deps&lt;br /&gt;
  randconfig	  - New config with random answer to all options&lt;br /&gt;
  defconfig	  - New config with default answer to all options&lt;br /&gt;
  allmodconfig	  - New config selecting modules when possible&lt;br /&gt;
  allyesconfig	  - New config where all options are accepted with yes&lt;br /&gt;
  allnoconfig	  - New config where all options are answered with no&lt;br /&gt;
&lt;br /&gt;
Other generic targets:&lt;br /&gt;
  all		  - Build all targets marked with [*]&lt;br /&gt;
* vmlinux	  - Build the bare kernel&lt;br /&gt;
* modules	  - Build all modules&lt;br /&gt;
  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)&lt;br /&gt;
  firmware_install- Install all firmware to INSTALL_FW_PATH&lt;br /&gt;
                    (default: $(INSTALL_MOD_PATH)/lib/firmware)&lt;br /&gt;
  dir/            - Build all files in dir and below&lt;br /&gt;
  dir/file.[ois]  - Build specified target only&lt;br /&gt;
  dir/file.ko     - Build module including final link&lt;br /&gt;
  modules_prepare - Set up for building external modules&lt;br /&gt;
  tags/TAGS	  - Generate tags file for editors&lt;br /&gt;
  cscope	  - Generate cscope index&lt;br /&gt;
  kernelrelease	  - Output the release version string&lt;br /&gt;
  kernelversion	  - Output the version stored in Makefile&lt;br /&gt;
  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH&lt;br /&gt;
                    (default: /dump/hw/oe/linux-omap-2.6/usr)&lt;br /&gt;
&lt;br /&gt;
Static analysers&lt;br /&gt;
  checkstack      - Generate a list of stack hogs&lt;br /&gt;
  namespacecheck  - Name space analysis on compiled kernel&lt;br /&gt;
  versioncheck    - Sanity check on version.h usage&lt;br /&gt;
  includecheck    - Check for duplicate included header files&lt;br /&gt;
  export_report   - List the usages of all exported symbols&lt;br /&gt;
  headers_check   - Sanity check on exported headers&lt;br /&gt;
  headerdep       - Detect inclusion cycles in headers&lt;br /&gt;
&lt;br /&gt;
Kernel packaging:&lt;br /&gt;
  rpm-pkg         - Build both source and binary RPM kernel packages&lt;br /&gt;
  binrpm-pkg      - Build only the binary kernel package&lt;br /&gt;
  deb-pkg         - Build the kernel as an deb package&lt;br /&gt;
  tar-pkg         - Build the kernel as an uncompressed tarball&lt;br /&gt;
  targz-pkg       - Build the kernel as a gzip compressed tarball&lt;br /&gt;
  tarbz2-pkg      - Build the kernel as a bzip2 compressed tarball&lt;br /&gt;
&lt;br /&gt;
Documentation targets:&lt;br /&gt;
 Linux kernel internal documentation in different formats:&lt;br /&gt;
  htmldocs        - HTML&lt;br /&gt;
  pdfdocs         - PDF&lt;br /&gt;
  psdocs          - Postscript&lt;br /&gt;
  xmldocs         - XML DocBook&lt;br /&gt;
  mandocs         - man pages&lt;br /&gt;
  installmandocs  - install man pages generated by mandocs&lt;br /&gt;
  cleandocs       - clean all generated DocBook files&lt;br /&gt;
&lt;br /&gt;
Architecture specific targets (arm):&lt;br /&gt;
* zImage        - Compressed kernel image (arch/arm/boot/zImage)&lt;br /&gt;
  Image         - Uncompressed kernel image (arch/arm/boot/Image)&lt;br /&gt;
* xipImage      - XIP kernel image, if configured (arch/arm/boot/xipImage)&lt;br /&gt;
  uImage        - U-Boot wrapped zImage&lt;br /&gt;
  bootpImage    - Combined zImage and initial RAM disk&lt;br /&gt;
                  (supply initrd image via make variable INITRD=&amp;lt;path&amp;gt;)&lt;br /&gt;
  install       - Install uncompressed kernel&lt;br /&gt;
  zinstall      - Install compressed kernel&lt;br /&gt;
                  Install using (your) ~/bin/installkernel or&lt;br /&gt;
                  (distribution) /sbin/installkernel or&lt;br /&gt;
                  install to $(INSTALL_PATH) and run lilo&lt;br /&gt;
&lt;br /&gt;
  acs5k_defconfig          - Build for acs5k&lt;br /&gt;
  acs5k_tiny_defconfig     - Build for acs5k_tiny&lt;br /&gt;
  afeb9260_defconfig       - Build for afeb9260&lt;br /&gt;
  am200epdkit_defconfig    - Build for am200epdkit&lt;br /&gt;
  am3517_evm_defconfig     - Build for am3517_evm&lt;br /&gt;
  ams_delta_defconfig      - Build for ams_delta&lt;br /&gt;
  assabet_defconfig        - Build for assabet&lt;br /&gt;
  at572d940hfek_defconfig  - Build for at572d940hfek&lt;br /&gt;
  at91cap9adk_defconfig    - Build for at91cap9adk&lt;br /&gt;
  at91rm9200dk_defconfig   - Build for at91rm9200dk&lt;br /&gt;
  at91rm9200ek_defconfig   - Build for at91rm9200ek&lt;br /&gt;
  at91sam9260ek_defconfig  - Build for at91sam9260ek&lt;br /&gt;
  at91sam9261ek_defconfig  - Build for at91sam9261ek&lt;br /&gt;
  at91sam9263ek_defconfig  - Build for at91sam9263ek&lt;br /&gt;
  at91sam9g20ek_defconfig  - Build for at91sam9g20ek&lt;br /&gt;
  at91sam9rlek_defconfig   - Build for at91sam9rlek&lt;br /&gt;
  ateb9200_defconfig       - Build for ateb9200&lt;br /&gt;
  badge4_defconfig         - Build for badge4&lt;br /&gt;
  bcmring_defconfig        - Build for bcmring&lt;br /&gt;
  cam60_defconfig          - Build for cam60&lt;br /&gt;
  carmeva_defconfig        - Build for carmeva&lt;br /&gt;
  cerfcube_defconfig       - Build for cerfcube&lt;br /&gt;
  cm_t35_defconfig         - Build for cm_t35&lt;br /&gt;
  cm_x2xx_defconfig        - Build for cm_x2xx&lt;br /&gt;
  cm_x300_defconfig        - Build for cm_x300&lt;br /&gt;
  colibri_pxa270_defconfig - Build for colibri_pxa270&lt;br /&gt;
  colibri_pxa300_defconfig - Build for colibri_pxa300&lt;br /&gt;
  collie_defconfig         - Build for collie&lt;br /&gt;
  corgi_defconfig          - Build for corgi&lt;br /&gt;
  cpu9260_defconfig        - Build for cpu9260&lt;br /&gt;
  cpu9g20_defconfig        - Build for cpu9g20&lt;br /&gt;
  cpuat91_defconfig        - Build for cpuat91&lt;br /&gt;
  csb337_defconfig         - Build for csb337&lt;br /&gt;
  csb637_defconfig         - Build for csb637&lt;br /&gt;
  da8xx_omapl_defconfig    - Build for da8xx_omapl&lt;br /&gt;
  davinci_all_defconfig    - Build for davinci_all&lt;br /&gt;
  devkit8000_defconfig     - Build for devkit8000&lt;br /&gt;
  dove_defconfig           - Build for dove&lt;br /&gt;
  ebsa110_defconfig        - Build for ebsa110&lt;br /&gt;
  ecbat91_defconfig        - Build for ecbat91&lt;br /&gt;
  edb7211_defconfig        - Build for edb7211&lt;br /&gt;
  em_x270_defconfig        - Build for em_x270&lt;br /&gt;
  ep93xx_defconfig         - Build for ep93xx&lt;br /&gt;
  eseries_pxa_defconfig    - Build for eseries_pxa&lt;br /&gt;
  ezx_defconfig            - Build for ezx&lt;br /&gt;
  footbridge_defconfig     - Build for footbridge&lt;br /&gt;
  fortunet_defconfig       - Build for fortunet&lt;br /&gt;
  h3600_defconfig          - Build for h3600&lt;br /&gt;
  h5000_defconfig          - Build for h5000&lt;br /&gt;
  h7201_defconfig          - Build for h7201&lt;br /&gt;
  h7202_defconfig          - Build for h7202&lt;br /&gt;
  hackkit_defconfig        - Build for hackkit&lt;br /&gt;
  htcherald_defconfig      - Build for htcherald&lt;br /&gt;
  igep0020_defconfig       - Build for igep0020&lt;br /&gt;
  integrator_defconfig     - Build for integrator&lt;br /&gt;
  iop13xx_defconfig        - Build for iop13xx&lt;br /&gt;
  iop32x_defconfig         - Build for iop32x&lt;br /&gt;
  iop33x_defconfig         - Build for iop33x&lt;br /&gt;
  ixp2000_defconfig        - Build for ixp2000&lt;br /&gt;
  ixp23xx_defconfig        - Build for ixp23xx&lt;br /&gt;
  ixp4xx_defconfig         - Build for ixp4xx&lt;br /&gt;
  jornada720_defconfig     - Build for jornada720&lt;br /&gt;
  kafa_defconfig           - Build for kafa&lt;br /&gt;
  kb9202_defconfig         - Build for kb9202&lt;br /&gt;
  kirkwood_defconfig       - Build for kirkwood&lt;br /&gt;
  ks8695_defconfig         - Build for ks8695&lt;br /&gt;
  lart_defconfig           - Build for lart&lt;br /&gt;
  loki_defconfig           - Build for loki&lt;br /&gt;
  lpd270_defconfig         - Build for lpd270&lt;br /&gt;
  lpd7a400_defconfig       - Build for lpd7a400&lt;br /&gt;
  lpd7a404_defconfig       - Build for lpd7a404&lt;br /&gt;
  lubbock_defconfig        - Build for lubbock&lt;br /&gt;
  lusl7200_defconfig       - Build for lusl7200&lt;br /&gt;
  magician_defconfig       - Build for magician&lt;br /&gt;
  mainstone_defconfig      - Build for mainstone&lt;br /&gt;
  mini2440_defconfig       - Build for mini2440&lt;br /&gt;
  msm_defconfig            - Build for msm&lt;br /&gt;
  mv78xx0_defconfig        - Build for mv78xx0&lt;br /&gt;
  mx1ads_defconfig         - Build for mx1ads&lt;br /&gt;
  mx1_defconfig            - Build for mx1&lt;br /&gt;
  mx21_defconfig           - Build for mx21&lt;br /&gt;
  mx27_defconfig           - Build for mx27&lt;br /&gt;
  mx31pdk_defconfig        - Build for mx31pdk&lt;br /&gt;
  mx3_defconfig            - Build for mx3&lt;br /&gt;
  n770_defconfig           - Build for n770&lt;br /&gt;
  n8x0_defconfig           - Build for n8x0&lt;br /&gt;
  neocore926_defconfig     - Build for neocore926&lt;br /&gt;
  neponset_defconfig       - Build for neponset&lt;br /&gt;
  netwinder_defconfig      - Build for netwinder&lt;br /&gt;
  netx_defconfig           - Build for netx&lt;br /&gt;
  nhk8815_defconfig        - Build for nhk8815&lt;br /&gt;
  ns9xxx_defconfig         - Build for ns9xxx&lt;br /&gt;
  nuc910_defconfig         - Build for nuc910&lt;br /&gt;
  nuc950_defconfig         - Build for nuc950&lt;br /&gt;
  nuc960_defconfig         - Build for nuc960&lt;br /&gt;
  omap_2430sdp_defconfig   - Build for omap_2430sdp&lt;br /&gt;
  omap_3430sdp_defconfig   - Build for omap_3430sdp&lt;br /&gt;
  omap_3630sdp_defconfig   - Build for omap_3630sdp&lt;br /&gt;
  omap3_beagle_defconfig   - Build for omap3_beagle&lt;br /&gt;
  omap3_defconfig          - Build for omap3&lt;br /&gt;
  omap3_evm_defconfig      - Build for omap3_evm&lt;br /&gt;
  omap3_pandora_defconfig  - Build for omap3_pandora&lt;br /&gt;
  omap3_touchbook_defconfig - Build for omap3_touchbook&lt;br /&gt;
  omap_4430sdp_defconfig   - Build for omap_4430sdp&lt;br /&gt;
  omap_apollon_2420_defconfig - Build for omap_apollon_2420&lt;br /&gt;
  omap_generic_1510_defconfig - Build for omap_generic_1510&lt;br /&gt;
  omap_generic_1610_defconfig - Build for omap_generic_1610&lt;br /&gt;
  omap_generic_1710_defconfig - Build for omap_generic_1710&lt;br /&gt;
  omap_generic_2420_defconfig - Build for omap_generic_2420&lt;br /&gt;
  omap_h2_1610_defconfig   - Build for omap_h2_1610&lt;br /&gt;
  omap_h4_2420_defconfig   - Build for omap_h4_2420&lt;br /&gt;
  omap_innovator_1510_defconfig - Build for omap_innovator_1510&lt;br /&gt;
  omap_innovator_1610_defconfig - Build for omap_innovator_1610&lt;br /&gt;
  omap_ldp_defconfig       - Build for omap_ldp&lt;br /&gt;
  omap_osk_5912_defconfig  - Build for omap_osk_5912&lt;br /&gt;
  omap_perseus2_730_defconfig - Build for omap_perseus2_730&lt;br /&gt;
  omap_zoom2_defconfig     - Build for omap_zoom2&lt;br /&gt;
  omap_zoom3_defconfig     - Build for omap_zoom3&lt;br /&gt;
  onearm_defconfig         - Build for onearm&lt;br /&gt;
  orion5x_defconfig        - Build for orion5x&lt;br /&gt;
  overo_defconfig          - Build for overo&lt;br /&gt;
  palmte_defconfig         - Build for palmte&lt;br /&gt;
  palmtt_defconfig         - Build for palmtt&lt;br /&gt;
  palmz71_defconfig        - Build for palmz71&lt;br /&gt;
  palmz72_defconfig        - Build for palmz72&lt;br /&gt;
  pcm027_defconfig         - Build for pcm027&lt;br /&gt;
  picotux200_defconfig     - Build for picotux200&lt;br /&gt;
  pleb_defconfig           - Build for pleb&lt;br /&gt;
  pnx4008_defconfig        - Build for pnx4008&lt;br /&gt;
  pxa168_defconfig         - Build for pxa168&lt;br /&gt;
  pxa255-idp_defconfig     - Build for pxa255-idp&lt;br /&gt;
  pxa3xx_defconfig         - Build for pxa3xx&lt;br /&gt;
  pxa910_defconfig         - Build for pxa910&lt;br /&gt;
  qil-a9260_defconfig      - Build for qil-a9260&lt;br /&gt;
  realview_defconfig       - Build for realview&lt;br /&gt;
  realview-smp_defconfig   - Build for realview-smp&lt;br /&gt;
  rpc_defconfig            - Build for rpc&lt;br /&gt;
  rx51_defconfig           - Build for rx51&lt;br /&gt;
  s3c2410_defconfig        - Build for s3c2410&lt;br /&gt;
  s3c6400_defconfig        - Build for s3c6400&lt;br /&gt;
  s5pc100_defconfig        - Build for s5pc100&lt;br /&gt;
  sam9_l9260_defconfig     - Build for sam9_l9260&lt;br /&gt;
  shannon_defconfig        - Build for shannon&lt;br /&gt;
  shark_defconfig          - Build for shark&lt;br /&gt;
  simpad_defconfig         - Build for simpad&lt;br /&gt;
  spitz_defconfig          - Build for spitz&lt;br /&gt;
  stmp378x_defconfig       - Build for stmp378x&lt;br /&gt;
  stmp37xx_defconfig       - Build for stmp37xx&lt;br /&gt;
  sx1_defconfig            - Build for sx1&lt;br /&gt;
  tct_hammer_defconfig     - Build for tct_hammer&lt;br /&gt;
  trizeps4_defconfig       - Build for trizeps4&lt;br /&gt;
  u300_defconfig           - Build for u300&lt;br /&gt;
  u8500_defconfig          - Build for u8500&lt;br /&gt;
  usb-a9260_defconfig      - Build for usb-a9260&lt;br /&gt;
  usb-a9263_defconfig      - Build for usb-a9263&lt;br /&gt;
  versatile_defconfig      - Build for versatile&lt;br /&gt;
  viper_defconfig          - Build for viper&lt;br /&gt;
  xcep_defconfig           - Build for xcep&lt;br /&gt;
  yl9200_defconfig         - Build for yl9200&lt;br /&gt;
  zeus_defconfig           - Build for zeus&lt;br /&gt;
&lt;br /&gt;
  make V=0|1 [targets] 0 =&amp;gt; quiet build (default), 1 =&amp;gt; verbose build&lt;br /&gt;
  make V=2   [targets] 2 =&amp;gt; give reason for rebuild of target&lt;br /&gt;
  make O=dir [targets] Locate all output files in &amp;quot;dir&amp;quot;, including .config&lt;br /&gt;
  make C=1   [targets] Check all c source with $CHECK (sparse by default)&lt;br /&gt;
  make C=2   [targets] Force check of all c source with $CHECK&lt;br /&gt;
&lt;br /&gt;
Execute &amp;quot;make&amp;quot; or &amp;quot;make all&amp;quot; to build all targets marked with [*] &lt;br /&gt;
For further info see the ./README file&lt;br /&gt;
|-&lt;br /&gt;
| 4-8&lt;br /&gt;
| 4-30&lt;br /&gt;
| Snippet from .../arch/arm/Konfig&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
   205 source &amp;quot;init/Kconfig&amp;quot;&lt;br /&gt;
    206 &lt;br /&gt;
    207 source &amp;quot;kernel/Kconfig.freezer&amp;quot;&lt;br /&gt;
    208 &lt;br /&gt;
    209 menu &amp;quot;System Type&amp;quot;&lt;br /&gt;
    210 &lt;br /&gt;
    211 config MMU&lt;br /&gt;
    212         bool &amp;quot;MMU-based Paged Memory Management Support&amp;quot;&lt;br /&gt;
    213         default y&lt;br /&gt;
    214         help&lt;br /&gt;
    215           Select if you want MMU-based virtualised addressing space&lt;br /&gt;
    216           support by paged memory management. If unsure, say 'Y'.&lt;br /&gt;
    217 &lt;br /&gt;
    218 choice&lt;br /&gt;
    219         prompt &amp;quot;ARM system type&amp;quot;&lt;br /&gt;
    220         default ARCH_VERSATILE&lt;br /&gt;
    783 source &amp;quot;arch/arm/mach-ixp4xx/Kconfig&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-9&lt;br /&gt;
| 4-30&lt;br /&gt;
| Snippet from .../arch/arm/mach-omap1/Konfig&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
      1 comment &amp;quot;OMAP Core Type&amp;quot;&lt;br /&gt;
      2         depends on ARCH_OMAP1&lt;br /&gt;
      3 &lt;br /&gt;
      4 config ARCH_OMAP730&lt;br /&gt;
      5         depends on ARCH_OMAP1&lt;br /&gt;
      6         bool &amp;quot;OMAP730 Based System&amp;quot;&lt;br /&gt;
      7         select CPU_ARM926T&lt;br /&gt;
      8         select ARCH_OMAP_OTG&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-10&lt;br /&gt;
| 4-32&lt;br /&gt;
| Customized .config file snippet&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
 257 CONFIG_MACH_OMAP3_BEAGLE=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-11&lt;br /&gt;
| 4-33&lt;br /&gt;
| .../arch/arm/mach-omap1 Kernel subdirectory&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Makefile for the linux kernel.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Common support&lt;br /&gt;
obj-y := io.o id.o sram.o irq.o mux.o flash.o serial.o devices.o&lt;br /&gt;
obj-y += clock.o clock_data.o opp_data.o&lt;br /&gt;
&lt;br /&gt;
obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o&lt;br /&gt;
&lt;br /&gt;
obj-$(CONFIG_OMAP_MPU_TIMER)	+= time.o&lt;br /&gt;
obj-$(CONFIG_OMAP_32K_TIMER)	+= timer32k.o&lt;br /&gt;
&lt;br /&gt;
# Power Management&lt;br /&gt;
obj-$(CONFIG_PM) += pm.o sleep.o&lt;br /&gt;
&lt;br /&gt;
# DSP&lt;br /&gt;
obj-$(CONFIG_OMAP_MBOX_FWK)	+= mailbox_mach.o&lt;br /&gt;
mailbox_mach-objs		:= mailbox.o&lt;br /&gt;
&lt;br /&gt;
i2c-omap-$(CONFIG_I2C_OMAP)		:= i2c.o&lt;br /&gt;
obj-y					+= $(i2c-omap-m) $(i2c-omap-y)&lt;br /&gt;
&lt;br /&gt;
led-y := leds.o&lt;br /&gt;
&lt;br /&gt;
# Specific board support&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_H2)		+= board-h2.o board-h2-mmc.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_INNOVATOR)	+= board-innovator.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_GENERIC)		+= board-generic.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PERSEUS2)	+= board-perseus2.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_FSAMPLE)		+= board-fsample.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_OSK)		+= board-osk.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_H3)		+= board-h3.o board-h3-mmc.o&lt;br /&gt;
obj-$(CONFIG_MACH_VOICEBLUE)		+= board-voiceblue.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PALMTE)		+= board-palmte.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PALMZ71)		+= board-palmz71.o&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_PALMTT)		+= board-palmtt.o&lt;br /&gt;
obj-$(CONFIG_MACH_NOKIA770)		+= board-nokia770.o&lt;br /&gt;
obj-$(CONFIG_MACH_AMS_DELTA)		+= board-ams-delta.o&lt;br /&gt;
obj-$(CONFIG_MACH_SX1)			+= board-sx1.o board-sx1-mmc.o&lt;br /&gt;
obj-$(CONFIG_MACH_HERALD)		+= board-htcherald.o&lt;br /&gt;
&lt;br /&gt;
ifeq ($(CONFIG_ARCH_OMAP15XX),y)&lt;br /&gt;
# Innovator-1510 FPGA&lt;br /&gt;
obj-$(CONFIG_MACH_OMAP_INNOVATOR)	+= fpga.o&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
# LEDs support&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_H2)		+= leds-h2p2-debug.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_H3)		+= leds-h2p2-debug.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_INNOVATOR)	+= leds-innovator.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_PERSEUS2)	+= leds-h2p2-debug.o&lt;br /&gt;
led-$(CONFIG_MACH_OMAP_OSK)		+= leds-osk.o&lt;br /&gt;
obj-$(CONFIG_LEDS)			+= $(led-y)&lt;br /&gt;
&lt;br /&gt;
ifneq ($(CONFIG_FB_OMAP),)&lt;br /&gt;
obj-y += lcd_dma.o&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-5&lt;br /&gt;
| 5-5&lt;br /&gt;
| Assembly file Piggy.S&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
      1         .section .piggydata,#alloc&lt;br /&gt;
      2         .globl  input_data&lt;br /&gt;
      3 input_data:&lt;br /&gt;
      4         .incbin &amp;quot;arch/arm/boot/compressed/piggy.gzip&amp;quot;&lt;br /&gt;
      5         .globl  input_data_end&lt;br /&gt;
      6 input_data_end:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-4&lt;br /&gt;
| 5-18&lt;br /&gt;
| Console setup Code Snippet&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    837 /*&lt;br /&gt;
    838  * Set up a list of consoles.  Called from init/main.c&lt;br /&gt;
    839  */&lt;br /&gt;
    840 static int __init console_setup(char *str)&lt;br /&gt;
    841 {&lt;br /&gt;
    842         char buf[sizeof(console_cmdline[0].name) + 4]; /* 4 for index */&lt;br /&gt;
    843         char *s, *options, *brl_options = NULL;&lt;br /&gt;
    844         int idx;&lt;br /&gt;
    845 &lt;br /&gt;
    846 #ifdef CONFIG_A11Y_BRAILLE_CONSOLE&lt;br /&gt;
    847         if (!memcmp(str, &amp;quot;brl,&amp;quot;, 4)) {&lt;br /&gt;
    848                 brl_options = &amp;quot;&amp;quot;;&lt;br /&gt;
    849                 str += 4;&lt;br /&gt;
    850         } else if (!memcmp(str, &amp;quot;brl=&amp;quot;, 4)) {&lt;br /&gt;
    851                 brl_options = str + 4;&lt;br /&gt;
    852                 str = strchr(brl_options, ',');&lt;br /&gt;
    853                 if (!str) {&lt;br /&gt;
    854                         printk(KERN_ERR &amp;quot;need port name after brl=\n&amp;quot;);&lt;br /&gt;
    855                         return 1;&lt;br /&gt;
    856                 }&lt;br /&gt;
    857                 *(str++) = 0;&lt;br /&gt;
    858         }&lt;br /&gt;
    859 #endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-8&lt;br /&gt;
| 5-19&lt;br /&gt;
| Family of __setup macro Definitions from init.h&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    224 /*&lt;br /&gt;
    225  * Only for really core code.  See moduleparam.h for the normal way.&lt;br /&gt;
    226  *&lt;br /&gt;
    227  * Force the alignment so the compiler doesn't space elements of the&lt;br /&gt;
    228  * obs_kernel_param &amp;quot;array&amp;quot; too far apart in .init.setup.&lt;br /&gt;
    229  */&lt;br /&gt;
    230 #define __setup_param(str, unique_id, fn, early)                        \&lt;br /&gt;
    231         static const char __setup_str_##unique_id[] __initconst \&lt;br /&gt;
    232                 __aligned(1) = str; \&lt;br /&gt;
    233         static struct obs_kernel_param __setup_##unique_id      \&lt;br /&gt;
    234                 __used __section(.init.setup)                   \&lt;br /&gt;
    235                 __attribute__((aligned((sizeof(long)))))        \&lt;br /&gt;
    236                 = { __setup_str_##unique_id, fn, early }&lt;br /&gt;
    237 &lt;br /&gt;
    238 #define __setup(str, fn)                                        \&lt;br /&gt;
    239         __setup_param(str, fn, fn, 0)&lt;br /&gt;
    240 &lt;br /&gt;
    241 /* NOTE: fn is as per module_param, not __setup!  Emits warning if fn&lt;br /&gt;
    242  * returns non-zero. */&lt;br /&gt;
    243 #define early_param(str, fn)                                    \&lt;br /&gt;
    244         __setup_param(str, fn, fn, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5-6&lt;br /&gt;
| 5-20&lt;br /&gt;
| Kernel Command Line Processing&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
    204 extern struct obs_kernel_param __setup_start[], __setup_end[];&lt;br /&gt;
    205 &lt;br /&gt;
    206 static int __init obsolete_checksetup(char *line)&lt;br /&gt;
    207 {&lt;br /&gt;
    208         struct obs_kernel_param *p;&lt;br /&gt;
    209         int had_early_param = 0;&lt;br /&gt;
    210 &lt;br /&gt;
    211         p = __setup_start;&lt;br /&gt;
    212         do {&lt;br /&gt;
    213                 int n = strlen(p-&amp;gt;str);&lt;br /&gt;
    214                 if (!strncmp(line, p-&amp;gt;str, n)) {&lt;br /&gt;
    215                         if (p-&amp;gt;early) {&lt;br /&gt;
    216                                 /* Already done in parse_early_param?&lt;br /&gt;
    217                                  * (Needs exact match on param part).&lt;br /&gt;
    218                                  * Keep iterating, as we can have early&lt;br /&gt;
    219                                  * params and __setups of same names 8( */&lt;br /&gt;
    220                                 if (line[n] == '\0' || line[n] == '=')&lt;br /&gt;
    221                                         had_early_param = 1;&lt;br /&gt;
    222                         } else if (!p-&amp;gt;setup_func) {&lt;br /&gt;
    223                                 printk(KERN_WARNING &amp;quot;Parameter %s is obsolete,&amp;quot;&lt;br /&gt;
    224                                        &amp;quot; ignored\n&amp;quot;, p-&amp;gt;str);&lt;br /&gt;
    225                                 return 1;&lt;br /&gt;
    226                         } else if (p-&amp;gt;setup_func(line + n))&lt;br /&gt;
    227                                 return 1;&lt;br /&gt;
    228                 }&lt;br /&gt;
    229                 p++;&lt;br /&gt;
    230         } while (p &amp;lt; __setup_end);&lt;br /&gt;
    231 &lt;br /&gt;
    232         return had_early_param;&lt;br /&gt;
    233 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Banistpw</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Editing_a_Wiki</id>
		<title>ECE497 Editing a Wiki</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Editing_a_Wiki"/>
				<updated>2010-03-12T20:36:39Z</updated>
		
		<summary type="html">&lt;p&gt;Banistpw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a wiki you can practice editing.  Before you can edit it you will have to create an login.  Pick something that will make it easy for me to identify you as part of my class.  Then just add your name and date on the end of the table.&lt;br /&gt;
&lt;br /&gt;
You can get help here: [[Help:Contents]].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Name&lt;br /&gt;
! Date&lt;br /&gt;
|-&lt;br /&gt;
| [[user:Yoder | Mark A. Yoder]]&lt;br /&gt;
| 2-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Elliot Simon&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Mitch Garvin&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| [[user:collinjc | J. Cody Collins]]&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Steven Stark&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Brian Embry&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Qiang Jiang&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Jessica Lipscomb&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Chris Routh&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Paul Morrison&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| David Baty&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Adam Jesionowski&lt;br /&gt;
| 9-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Greg Jackson&lt;br /&gt;
| 9-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Mark Jacobson&lt;br /&gt;
| 9-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Tom Most&lt;br /&gt;
| 10-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Yannick Polius&lt;br /&gt;
| 10-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Matt Luke&lt;br /&gt;
| 11-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| [[user:banistpw | Paul Banister]]&lt;br /&gt;
| 12-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Jian Li&lt;br /&gt;
| 12-Mar-2010&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:ECE597]]&lt;/div&gt;</summary>
		<author><name>Banistpw</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Editing_a_Wiki</id>
		<title>ECE497 Editing a Wiki</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Editing_a_Wiki"/>
				<updated>2010-03-12T20:36:35Z</updated>
		
		<summary type="html">&lt;p&gt;Banistpw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a wiki you can practice editing.  Before you can edit it you will have to create an login.  Pick something that will make it easy for me to identify you as part of my class.  Then just add your name and date on the end of the table.&lt;br /&gt;
&lt;br /&gt;
You can get help here: [[Help:Contents]].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Name&lt;br /&gt;
! Date&lt;br /&gt;
|-&lt;br /&gt;
| [[user:Yoder | Mark A. Yoder]]&lt;br /&gt;
| 2-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Elliot Simon&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Mitch Garvin&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| [[user:collinjc | J. Cody Collins]]&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Steven Stark&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Brian Embry&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Qiang Jiang&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Jessica Lipscomb&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Chris Routh&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Paul Morrison&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| David Baty&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Adam Jesionowski&lt;br /&gt;
| 9-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Greg Jackson&lt;br /&gt;
| 9-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Mark Jacobson&lt;br /&gt;
| 9-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Tom Most&lt;br /&gt;
| 10-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Yannick Polius&lt;br /&gt;
| 10-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Matt Luke&lt;br /&gt;
| 11-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| [[user:cbanistpw | Paul Banister]]&lt;br /&gt;
| 12-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Jian Li&lt;br /&gt;
| 12-Mar-2010&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:ECE597]]&lt;/div&gt;</summary>
		<author><name>Banistpw</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Editing_a_Wiki</id>
		<title>ECE497 Editing a Wiki</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Editing_a_Wiki"/>
				<updated>2010-03-12T20:34:48Z</updated>
		
		<summary type="html">&lt;p&gt;Banistpw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a wiki you can practice editing.  Before you can edit it you will have to create an login.  Pick something that will make it easy for me to identify you as part of my class.  Then just add your name and date on the end of the table.&lt;br /&gt;
&lt;br /&gt;
You can get help here: [[Help:Contents]].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Name&lt;br /&gt;
! Date&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| 2-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Elliot Simon&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Mitch Garvin&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| [[user:collinjc | J. Cody Collins]]&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Steven Stark&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Brian Embry&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Qiang Jiang&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Jessica Lipscomb&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Chris Routh&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Paul Morrison&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| David Baty&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Adam Jesionowski&lt;br /&gt;
| 9-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Greg Jackson&lt;br /&gt;
| 9-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Mark Jacobson&lt;br /&gt;
| 9-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Tom Most&lt;br /&gt;
| 10-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Yannick Polius&lt;br /&gt;
| 10-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Matt Luke&lt;br /&gt;
| 11-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| [[user:banistpw | Paul Banister]]&lt;br /&gt;
| 12-Mar-2010&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:ECE597]]&lt;/div&gt;</summary>
		<author><name>Banistpw</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Editing_a_Wiki</id>
		<title>ECE497 Editing a Wiki</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Editing_a_Wiki"/>
				<updated>2010-03-12T20:33:35Z</updated>
		
		<summary type="html">&lt;p&gt;Banistpw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a wiki you can practice editing.  Before you can edit it you will have to create an login.  Pick something that will make it easy for me to identify you as part of my class.  Then just add your name and date on the end of the table.&lt;br /&gt;
&lt;br /&gt;
You can get help here: [[Help:Contents]].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Name&lt;br /&gt;
! Date&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| 2-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Elliot Simon&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Mitch Garvin&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| [[user:collinjc | J. Cody Collins]]&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Steven Stark&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Brian Embry&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Qiang Jiang&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Jessica Lipscomb&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Chris Routh&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Paul Morrison&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| David Baty&lt;br /&gt;
| 8-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Adam Jesionowski&lt;br /&gt;
| 9-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Greg Jackson&lt;br /&gt;
| 9-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Mark Jacobson&lt;br /&gt;
| 9-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Tom Most&lt;br /&gt;
| 10-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Yannick Polius&lt;br /&gt;
| 10-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Matt Luke&lt;br /&gt;
| 11-Mar-2010&lt;br /&gt;
|-&lt;br /&gt;
| Paul Banister&lt;br /&gt;
| 12-Mar-2010&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:ECE597]]&lt;/div&gt;</summary>
		<author><name>Banistpw</name></author>	</entry>

	<entry>
		<id>http://elinux.org/User:Banistpw</id>
		<title>User:Banistpw</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/User:Banistpw"/>
				<updated>2010-03-11T23:10:03Z</updated>
		
		<summary type="html">&lt;p&gt;Banistpw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Paul Banister&lt;br /&gt;
&lt;br /&gt;
Senior CS/SE&lt;br /&gt;
&lt;br /&gt;
Very familiar but no expert with both Linux and C/C++. I hope to contribute good coding practices and design to a team more familiar with lower level background.&lt;br /&gt;
&lt;br /&gt;
[[Category:ECE597]]&lt;/div&gt;</summary>
		<author><name>Banistpw</name></author>	</entry>

	<entry>
		<id>http://elinux.org/User:Banistpw</id>
		<title>User:Banistpw</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/User:Banistpw"/>
				<updated>2010-03-09T14:28:44Z</updated>
		
		<summary type="html">&lt;p&gt;Banistpw: Created page with 'Paul Banister  Senior CS/SE  Very familiar but no expert with both Linux and C/C++. I hope to contribute good coding practices and design to a team more familiar with lower level…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Paul Banister&lt;br /&gt;
&lt;br /&gt;
Senior CS/SE&lt;br /&gt;
&lt;br /&gt;
Very familiar but no expert with both Linux and C/C++. I hope to contribute good coding practices and design to a team more familiar with lower level background.&lt;/div&gt;</summary>
		<author><name>Banistpw</name></author>	</entry>

	</feed>