summaryrefslogtreecommitdiffstats
path: root/drivers/staging/et131x/et1310_phy.c
Commit message (Collapse)AuthorAgeFilesLines
* staging: et131x: Put all .c files into one big fileMark Einon2011-10-231-375/+0
| | | | | | | | Created one big .c file for the driver, moving the contents of all driver .c files into it. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Remove file et131x_version.hMark Einon2011-10-111-1/+0
| | | | | | | | Removed defines in et131x_version.h and replaced them by actual strings where convinient, or moved them to et131x.h Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Updating copyright statements and module authorsMark Einon2011-10-041-0/+2
| | | | | | | Adding copyright notices and adding myself as a module author. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Remove adapter->bmsr, replace with phydev equivalentsMark Einon2011-10-041-3/+0
| | | | | | | | | adapter->bmsr is no longer being updated, but is also used to check the link state in places. Remove bmsr from adapter, and replace link state checks with phydev->link check. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Remove et131x_check_mii() and move functionality into ↵Mark Einon2011-09-261-167/+0
| | | | | | | | | | | et131x_adjust_link() et131x_check_mii() is now only being called from et131x_adjust_link. Removed this call and associated subroutines, putting the functionality directly into et131x_adjust_link(), in preparation for further simplification. Changed register checks from bare BMSR checks to use phydev/netif versions, also now uses adapter->link to track link state changes. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Remove ai_force_[duplex|speed] from et131x_adapterMark Einon2011-09-061-4/+2
| | | | | | | | The ai_force settings were used to set the ethernet speed and duplex manually. This is now being done by the phy_device, so remove. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Replace magic numbers in et1310_phy.c with definesMark Einon2011-09-061-36/+41
| | | | | | | Replaced et131x_phy.c magic numbers specifying registers and their values with defines, defined in et131x_phy.h Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: remove calls to netif_carrier_[on|off] from et131x_mii_checkMark Einon2011-09-061-3/+0
| | | | | | | As et131x_adjust_link is called from the phydev in response to a netif_carrier_[on|off], and is the only caller of et131x_mii_check, we don't need to call netif_carrier_[on|off] again. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Remove redundant struct adapter membersMark Einon2011-09-061-6/+0
| | | | | | | | | | adapter->speed_duplex was never referenced. adapter->registry_phy_coma was always set to zero, even in the vendor driver. Removing all member references and associated dead code. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Remove private adapter->duplex_mode and use phydev->duplex ↵Mark Einon2011-09-061-4/+0
| | | | | | | | | | | instead The phy device keeps a note of the duplex mode, so use that value instead of duplex mode. Also use the phydev defines for duplex modes, and remove the driver private ones. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Remove private adapter->linkspeed and use phydev->speed insteadMark Einon2011-09-061-5/+4
| | | | | | | | | | | The phy device keeps a note of the link speed, so use that value instead of the driver private one. Also use the phydev defines for link speeds, and remove the driver private ones. adapter->hw_errs was never used, even in the vendor driver, so remove that too. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Fix checkpatch whitespace warningsMark Einon2011-09-061-6/+10
| | | | | | | | Some of my previous hacking attempts have not been following the rules. All fixes either lines > 80 chars or whitespace corrections (spaces->tabs etc). Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Use MII register defines from mii.hMark Einon2011-09-061-11/+11
| | | | | | | Use defines from include/linux/mii.h instead of et131x_phy.h and delete the latter defines. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Remove redundant phy codeMark Einon2011-09-061-413/+2
| | | | | | | Now we are using a phy_device, remove driver functionality that is now handled by the phydev. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Remove xcvr_addr and et131x_xcvr_findMark Einon2011-09-061-43/+29
| | | | | | | Use the phy_device equivalents instead. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Use phy-device, mii_bus and ethtool_opsMark Einon2011-08-291-7/+38
| | | | | | | Adding some basic ethtool ops and supporting functionality using a phy device. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Remove unused xcvr_id in struct ce_statsMark Einon2011-08-291-4/+0
| | | | | | | xcvr_id holds the phy ID which is stored but never used in the driver. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Fix free IRQ from IRQ context warning after tx_timeoutMark Einon2011-08-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a tx timeout occured, et131x_tx_timeout closed and re-opened the device to fix. As et131x_close called free_irq(), bad things ensued (see warning trace below), namely a storm of errors and warnings. Fixed by replacing the close() and open() calls with just the relevant functions previously called from these. Verified on an ET-1310 device. Signed-off-by: Mark Einon <mark.einon@gmail.com> ---------- Aug 2 21:26:08 msilap kernel: [ 6484.816024] ------------[ cut here ]------------ Aug 2 21:26:08 msilap kernel: [ 6484.816039] WARNING: at /home/mark/Source/staging-2.6/net/sched/sch_generic.c:255 dev_watchdog+0xf0/0x150() Aug 2 21:26:08 msilap kernel: [ 6484.816045] Hardware name: MS-1727 Aug 2 21:26:08 msilap kernel: [ 6484.816050] NETDEV WATCHDOG: eth1 (et131x): transmit queue 0 timed out Aug 2 21:26:08 msilap kernel: [ 6484.816054] Modules linked in: et131x(C) aes_generic tcp_lp fuse nouveau ttm drm_kms_helper drm i2c_algo_bit sunrpc ipv6 cpufreq_ondemand acpi_cpufreq freq_table mperf uinput arc4 iwlagn snd_hda_codec_hdmi mac80211 sdhci_pci sdhci snd_hda_codec_realtek cfg80211 snd_hda_intel snd_hda_codec mmc_core snd_hwdep firewire_ohci firewire_core jmb38x_ms snd_seq snd_seq_device snd_pcm mxm_wmi ir_lirc_codec lirc_dev ir_sony_decoder i2c_i801 ir_jvc_decoder ir_rc6_decoder rc_rc6_mce i7core_edac edac_core snd_timer pcspkr rfkill r8169 mii i2c_core video ir_rc5_decoder memstick iTCO_wdt iTCO_vendor_support ir_nec_decoder ene_ir rc_core joydev microcode wmi snd crc_itu_t soundcore snd_page_alloc [last unloaded: et131x] Aug 2 21:26:08 msilap kernel: [ 6484.816163] Pid: 0, comm: kworker/0:1 Tainted: G C 3.0.0-rc6+ #21 Aug 2 21:26:08 msilap kernel: [ 6484.816167] Call Trace: Aug 2 21:26:08 msilap kernel: [ 6484.816171] <IRQ> [<ffffffff8103caf4>] warn_slowpath_common+0x85/0x9d Aug 2 21:26:08 msilap kernel: [ 6484.816189] [<ffffffff8103cbaf>] warn_slowpath_fmt+0x46/0x48 Aug 2 21:26:08 msilap kernel: [ 6484.816196] [<ffffffff813aa6fb>] ? netif_tx_lock+0x4a/0x7b Aug 2 21:26:08 msilap kernel: [ 6484.816203] [<ffffffff813aa86f>] dev_watchdog+0xf0/0x150 Aug 2 21:26:08 msilap kernel: [ 6484.816211] [<ffffffff810497b6>] run_timer_softirq+0x1a9/0x279 Aug 2 21:26:08 msilap kernel: [ 6484.816218] [<ffffffff813aa77f>] ? netif_tx_unlock+0x53/0x53 Aug 2 21:26:08 msilap kernel: [ 6484.816226] [<ffffffff810429d7>] __do_softirq+0xd5/0x1a4 Aug 2 21:26:08 msilap kernel: [ 6484.816234] [<ffffffff810079ed>] ? paravirt_read_tsc+0x9/0xd Aug 2 21:26:08 msilap kernel: [ 6484.816245] [<ffffffff8144561c>] call_softirq+0x1c/0x26 Aug 2 21:26:08 msilap kernel: [ 6484.816251] [<ffffffff81003b9f>] do_softirq+0x46/0x83 Aug 2 21:26:08 msilap kernel: [ 6484.816257] [<ffffffff81042ca2>] irq_exit+0x52/0x9b Aug 2 21:26:08 msilap kernel: [ 6484.816265] [<ffffffff81445749>] smp_apic_timer_interrupt+0x7c/0x8a Aug 2 21:26:08 msilap kernel: [ 6484.816273] [<ffffffff814450d3>] apic_timer_interrupt+0x13/0x20 Aug 2 21:26:08 msilap kernel: [ 6484.816278] <EOI> [<ffffffff810079ed>] ? paravirt_read_tsc+0x9/0xd Aug 2 21:26:08 msilap kernel: [ 6484.816291] [<ffffffff8124ad87>] ? intel_idle+0xd1/0xf8 Aug 2 21:26:08 msilap kernel: [ 6484.816297] [<ffffffff8124ad69>] ? intel_idle+0xb3/0xf8 Aug 2 21:26:08 msilap kernel: [ 6484.816306] [<ffffffff8136a767>] cpuidle_idle_call+0xe2/0x160 Aug 2 21:26:08 msilap kernel: [ 6484.816315] [<ffffffff81001293>] cpu_idle+0xaa/0xcc Aug 2 21:26:08 msilap kernel: [ 6484.816323] [<ffffffff81436b4e>] start_secondary+0x248/0x24f Aug 2 21:26:08 msilap kernel: [ 6484.816329] ---[ end trace 10ae1b2c6bae932f ]--- Aug 2 21:26:08 msilap kernel: [ 6484.816337] et131x 0000:02:00.0: Send stuck - reset. tcb->WrIndex 0, flags 0x00000000 Aug 2 21:26:08 msilap kernel: [ 6484.816344] ------------[ cut here ]------------ Aug 2 21:26:08 msilap kernel: [ 6484.816353] WARNING: at /home/mark/Source/staging-2.6/kernel/irq/manage.c:1131 __free_irq+0x58/0x192() Aug 2 21:26:08 msilap kernel: [ 6484.816358] Hardware name: MS-1727 Aug 2 21:26:08 msilap kernel: [ 6484.816362] Trying to free IRQ 16 from IRQ context! Aug 2 21:26:08 msilap kernel: [ 6484.816365] Modules linked in: et131x(C) aes_generic tcp_lp fuse nouveau ttm drm_kms_helper drm i2c_algo_bit sunrpc ipv6 cpufreq_ondemand acpi_cpufreq freq_table mperf uinput arc4 iwlagn snd_hda_codec_hdmi mac80211 sdhci_pci sdhci snd_hda_codec_realtek cfg80211 snd_hda_intel snd_hda_codec mmc_core snd_hwdep firewire_ohci firewire_core jmb38x_ms snd_seq snd_seq_device snd_pcm mxm_wmi ir_lirc_codec lirc_dev ir_sony_decoder i2c_i801 ir_jvc_decoder ir_rc6_decoder rc_rc6_mce i7core_edac edac_core snd_timer pcspkr rfkill r8169 mii i2c_core video ir_rc5_decoder memstick iTCO_wdt iTCO_vendor_support ir_nec_decoder ene_ir rc_core joydev microcode wmi snd crc_itu_t soundcore snd_page_alloc [last unloaded: et131x] Aug 2 21:26:08 msilap kernel: [ 6484.816459] Pid: 0, comm: kworker/0:1 Tainted: G WC 3.0.0-rc6+ #21 Aug 2 21:26:08 msilap kernel: [ 6484.816464] Call Trace: Aug 2 21:26:08 msilap kernel: [ 6484.816467] <IRQ> [<ffffffff8103caf4>] warn_slowpath_common+0x85/0x9d Aug 2 21:26:08 msilap kernel: [ 6484.816480] [<ffffffff8103cbaf>] warn_slowpath_fmt+0x46/0x48 Aug 2 21:26:08 msilap kernel: [ 6484.816488] [<ffffffff81092276>] __free_irq+0x58/0x192 Aug 2 21:26:08 msilap kernel: [ 6484.816496] [<ffffffff8109240e>] free_irq+0x5e/0x77 Aug 2 21:26:08 msilap kernel: [ 6484.816506] [<ffffffffa00bf58e>] et131x_close+0x4b/0x5e [et131x] Aug 2 21:26:08 msilap kernel: [ 6484.816516] [<ffffffffa00bf64d>] et131x_tx_timeout+0xac/0xc7 [et131x] Aug 2 21:26:08 msilap kernel: [ 6484.816523] [<ffffffff813aa883>] dev_watchdog+0x104/0x150 Aug 2 21:26:08 msilap kernel: [ 6484.816530] [<ffffffff810497b6>] run_timer_softirq+0x1a9/0x279 Aug 2 21:26:08 msilap kernel: [ 6484.816537] [<ffffffff813aa77f>] ? netif_tx_unlock+0x53/0x53 Aug 2 21:26:08 msilap kernel: [ 6484.816544] [<ffffffff810429d7>] __do_softirq+0xd5/0x1a4 Aug 2 21:26:08 msilap kernel: [ 6484.816552] [<ffffffff810079ed>] ? paravirt_read_tsc+0x9/0xd Aug 2 21:26:08 msilap kernel: [ 6484.816560] [<ffffffff8144561c>] call_softirq+0x1c/0x26 Aug 2 21:26:08 msilap kernel: [ 6484.816566] [<ffffffff81003b9f>] do_softirq+0x46/0x83 Aug 2 21:26:08 msilap kernel: [ 6484.816572] [<ffffffff81042ca2>] irq_exit+0x52/0x9b Aug 2 21:26:08 msilap kernel: [ 6484.816580] [<ffffffff81445749>] smp_apic_timer_interrupt+0x7c/0x8a Aug 2 21:26:08 msilap kernel: [ 6484.816588] [<ffffffff814450d3>] apic_timer_interrupt+0x13/0x20 Aug 2 21:26:08 msilap kernel: [ 6484.816592] <EOI> [<ffffffff810079ed>] ? paravirt_read_tsc+0x9/0xd Aug 2 21:26:08 msilap kernel: [ 6484.816604] [<ffffffff8124ad87>] ? intel_idle+0xd1/0xf8 Aug 2 21:26:08 msilap kernel: [ 6484.816610] [<ffffffff8124ad69>] ? intel_idle+0xb3/0xf8 Aug 2 21:26:08 msilap kernel: [ 6484.816617] [<ffffffff8136a767>] cpuidle_idle_call+0xe2/0x160 Aug 2 21:26:08 msilap kernel: [ 6484.816625] [<ffffffff81001293>] cpu_idle+0xaa/0xcc Aug 2 21:26:08 msilap kernel: [ 6484.816632] [<ffffffff81436b4e>] start_secondary+0x248/0x24f Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Fix link detection signallingMark Einon2011-08-231-25/+1
| | | | | | | | Remove redundant code around netif_carrier_XXX calls, and associated adapter->media_state, which prevented the link from being reported as off. Tested on an ET-1310 device. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Rename var name 'etdev' to 'adapter' throughout moduleMark Einon2011-08-231-195/+195
| | | | | | | | | | | | Used regex (from vim) :%s/\<etdev\>/adapter/g Changed because: * 'etdev' is easily confused as a misspelling of 'netdev' * 'adapter' is more widely used for this struct type in net drivers. This change made comparing code with other drivers much easier. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Converting et1310_adapter.h variable names from CamelCaseMark Einon2011-08-231-18/+18
| | | | | | | Tested on an ET-131x device. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Remove unecessary *etdev NULL check in et1310_phy_init()Mark Einon2011-08-231-3/+0
| | | | | | | | It is impossible to get to this function with the pointer being NULL. Tested on an ET-131x device. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: add et1310_ prefix to et1310_mac.c functionsMark Einon2011-08-231-2/+2
| | | | | | | | Making finger pointing that bit easier. Tested on an ET-131x device. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Converting et1310_rx.c function and local names from CamelCaseMark Einon2011-08-231-1/+1
| | | | | | | | Also renamed some items to improve readability, and other minor tidy-ups. Tested on an ET-131x device. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Converting et1310_pm.c function and local names from CamelCaseMark Einon2011-08-231-1/+1
| | | | | | | Tested on an ET-131x device. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Converting et1310_phy.c function and local names from CamelCaseMark Einon2011-08-231-202/+200
| | | | | | | Tested on an ET-131x device. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Converting et1310_mac.c function and local names from CamelCaseMark Einon2011-08-231-2/+2
| | | | | | | Tested on an ET-131x device. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Remove typedefs from et1310_phy.hMark Einon2011-07-051-7/+8
| | | | | | | | | Fixes the associated checkpatch warnings. Tested with ifconfig/general use of a device (Agere Systems ET-131x PCI-E Ethernet Controller (rev 02)). Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Fix stats->rx_packets accountingMark Einon2011-07-051-3/+1
| | | | | | | | | | | | | The net_device_stats->rx_packets counter is not getting updated. This is due to checking a fMP_ADAPTER_LINK_DETECTION flag prior to updating which is never set. Solved by using netif_carrier_ok() to test for a link, and removing the fMP_ADAPTER_LINK_DETECTION flag, which looks to be a broken mechanism. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: transciever/transceiver spelling fixesJoe Perches2011-07-051-1/+1
| | | | | | | Just tyops. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Removing '_t' from ce_stats_t structMark Einon2011-06-281-3/+3
| | | | | | | | Removing '_t' from ce_stats_t struct name and renaming et131x_adapter ce_stats member from 'Stats' to 'stats' Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Fixes multiple 'WARNING: do not add new typedefs'.Mark Einon2011-06-281-2/+2
| | | | | | | Removes unions, and uses definitions for bit manipulations. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: checkpatch fixes for et1310_address_map.h (All 'do not add ↵Mark Einon2011-06-281-3/+3
| | | | | | | new typedefs') Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Begin cleaning up the MI registersAlan Cox2011-02-041-24/+26
| | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Clean up the phy coma stuffAlan Cox2011-02-041-2/+2
| | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Kill of the eFLOW_CONTROL enumAlan Cox2011-02-041-6/+6
| | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: et131x: Turn a few more LongCapitalisedThings into Linuxish namesAlan Cox2011-02-041-2/+2
| | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: et131x: Small format/style tidyupsLars Lindley2010-06-171-3/+5
| | | | | | | | | I fixed indentation in one place and two long lines, a space and a brace found by checkpatch.pl and fixed some long lines and whitespace around an =. Signed-off-by: Lars Lindley <lindley@coyote.org> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: et131x: fix most coding style issues in et131xMichael Sprecher2010-05-111-1/+1
| | | | | | | | This is a patch to the et131x driver that fixes up almost all coding style issues Signed-off-by: Michael Sprecher <sprecher.m@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* include cleanup: Update gfp.h and slab.h includes to prepare for breaking ↵Tejun Heo2010-03-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implicit slab.h inclusion from percpu.h percpu.h is included by sched.h and module.h and thus ends up being included when building most .c files. percpu.h includes slab.h which in turn includes gfp.h making everything defined by the two files universally available and complicating inclusion dependencies. percpu.h -> slab.h dependency is about to be removed. Prepare for this change by updating users of gfp and slab facilities include those headers directly instead of assuming availability. As this conversion needs to touch large number of source files, the following script is used as the basis of conversion. http://userweb.kernel.org/~tj/misc/slabh-sweep.py The script does the followings. * Scan files for gfp and slab usages and update includes such that only the necessary includes are there. ie. if only gfp is used, gfp.h, if slab is used, slab.h. * When the script inserts a new include, it looks at the include blocks and try to put the new include such that its order conforms to its surrounding. It's put in the include block which contains core kernel includes, in the same order that the rest are ordered - alphabetical, Christmas tree, rev-Xmas-tree or at the end if there doesn't seem to be any matching order. * If the script can't find a place to put a new include (mostly because the file doesn't have fitting include block), it prints out an error message indicating which .h file needs to be added to the file. The conversion was done in the following steps. 1. The initial automatic conversion of all .c files updated slightly over 4000 files, deleting around 700 includes and adding ~480 gfp.h and ~3000 slab.h inclusions. The script emitted errors for ~400 files. 2. Each error was manually checked. Some didn't need the inclusion, some needed manual addition while adding it to implementation .h or embedding .c file was more appropriate for others. This step added inclusions to around 150 files. 3. The script was run again and the output was compared to the edits from #2 to make sure no file was left behind. 4. Several build tests were done and a couple of problems were fixed. e.g. lib/decompress_*.c used malloc/free() wrappers around slab APIs requiring slab.h to be added manually. 5. The script was run on all .h files but without automatically editing them as sprinkling gfp.h and slab.h inclusions around .h files could easily lead to inclusion dependency hell. Most gfp.h inclusion directives were ignored as stuff from gfp.h was usually wildly available and often used in preprocessor macros. Each slab.h inclusion directive was examined and added manually as necessary. 6. percpu.h was updated not to include slab.h. 7. Build test were done on the following configurations and failures were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my distributed build env didn't work with gcov compiles) and a few more options had to be turned off depending on archs to make things build (like ipr on powerpc/64 which failed due to missing writeq). * x86 and x86_64 UP and SMP allmodconfig and a custom test config. * powerpc and powerpc64 SMP allmodconfig * sparc and sparc64 SMP allmodconfig * ia64 SMP allmodconfig * s390 SMP allmodconfig * alpha SMP allmodconfig * um on x86_64 SMP allmodconfig 8. percpu.h modifications were reverted so that it could be applied as a separate patch and serve as bisection point. Given the fact that I had only a couple of failures from tests on step 6, I'm fairly confident about the coverage of this conversion patch. If there is a breakage, it's likely to be something in one of the arch headers which should be easily discoverable easily on most builds of the specific arch. Signed-off-by: Tejun Heo <tj@kernel.org> Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
* Staging: et131x: Collapse all the function definitions into one placeAlan Cox2010-03-031-5/+2
| | | | | | | | We have lots of tiny files right now that could be one Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: et131x: Clean up the phy code, especially dup stuffAlan Cox2009-12-111-408/+214
| | | | | | | | | | | Fold in the TPAL stuff and remove the duplication Clean up other stuff where we do un-needed work or have verbose implementations Comment some of the functions as we go Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: et131x: phy clean upAlan Cox2009-12-111-541/+543
| | | | | | | | | Clean up the phy code a bit so we can see what needs doing. This involves moving blocks around and making stuff static Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: et131x: Clean up MII controlAlan Cox2009-12-111-53/+32
| | | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: et131x: PHY loopback cannot be set (and isn't useful for us anyway)Alan Cox2009-12-111-8/+2
| | | | | | | | | Remove the stuff that falls out from this always being zero. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: et131x: prune all the debug codeAlan Cox2009-09-151-80/+8
| | | | | | | | We don't need it, we have a perfectly good set of debug tools. For this pass keep a few debug printks around which are "should not happen" items Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: et131x: clean up MP_FLAG macrosAlan Cox2009-09-151-5/+3
| | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: et131x: continue pruning unused fieldsAlan Cox2009-09-151-1/+1
| | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: et131x: de-hungarianise a bitAlan Cox2009-09-151-119/+119
| | | | | | | bOverrideAddress is write only so kill it rather than fix it Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: et131x: CSRAddress to regsAlan Cox2009-09-151-2/+2
| | | | | | | Switch this to a Linux like naming as it occurs all over. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
OpenPOWER on IntegriCloud