List of offending drivers
Hello,
Check the following list, it's the list of drivers scattered (misplaced) across the tree. The list is not complete and might be inaccurate. But it should give a good impression of what I'm going to break soon:
arch/blackfin/cpu/serial.carch/m68k/cpu/mcf5445x/pci.carch/m68k/cpu/mcf547x_8x/pci.carch/mips/cpu/mips32/au1x00/au1x00_eth.carch/mips/cpu/mips32/au1x00/au1x00_serial.carch/mips/cpu/mips32/au1x00/au1x00_usb_ohci.carch/mips/cpu/mips32/incaip/asc_serial.carch/mips/cpu/xburst/jz_serial.carch/powerpc/cpu/mpc512x/i2c.carch/powerpc/cpu/mpc512x/ide.carch/powerpc/cpu/mpc512x/pci.carch/powerpc/cpu/mpc512x/serial.carch/powerpc/cpu/mpc5xx/serial.carch/powerpc/cpu/mpc5xx/spi.carch/powerpc/cpu/mpc5xxx/i2c.carch/powerpc/cpu/mpc5xxx/ide.carch/powerpc/cpu/mpc5xxx/pci_mpc5200.carch/powerpc/cpu/mpc5xxx/serial.carch/powerpc/cpu/mpc5xxx/usb.carch/powerpc/cpu/mpc5xxx/usb_ohci.carch/powerpc/cpu/mpc8220/fec.carch/powerpc/cpu/mpc8220/i2c.carch/powerpc/cpu/mpc8220/pci.carch/powerpc/cpu/mpc8220/uart.carch/powerpc/cpu/mpc824x/pci.carch/powerpc/cpu/mpc824x/drivers/i2c/i2c.carch/powerpc/cpu/mpc8260/ether_fcc.carch/powerpc/cpu/mpc8260/ether_scc.carch/powerpc/cpu/mpc8260/i2c.carch/powerpc/cpu/mpc8260/pci.carch/powerpc/cpu/mpc8260/serial_scc.carch/powerpc/cpu/mpc8260/serial_smc.carch/powerpc/cpu/mpc8260/spi.carch/powerpc/cpu/mpc83xx/pci.carch/powerpc/cpu/mpc83xx/pcie.carch/powerpc/cpu/mpc85xx/ether_fcc.carch/powerpc/cpu/mpc85xx/pci.carch/powerpc/cpu/mpc85xx/serial_scc.carch/powerpc/cpu/mpc8xx/fec.carch/powerpc/cpu/mpc8xx/i2c.carch/powerpc/cpu/mpc8xx/lcd.carch/powerpc/cpu/mpc8xx/serial.carch/powerpc/cpu/mpc8xx/spi.carch/powerpc/cpu/mpc8xx/video.carch/powerpc/cpu/mpc8xx/wlkbd.carch/powerpc/cpu/ppc4xx/4xx_pci.carch/powerpc/cpu/ppc4xx/4xx_pcie.carch/powerpc/cpu/ppc4xx/4xx_uart.carch/powerpc/cpu/ppc4xx/gpio.carch/powerpc/cpu/ppc4xx/miiphy.carch/powerpc/cpu/ppc4xx/usb.carch/powerpc/cpu/ppc4xx/usb_ohci.carch/sh/cpu/sh2/watchdog.carch/sh/cpu/sh3/watchdog.carch/sh/cpu/sh4/watchdog.carch/sparc/cpu/leon2/serial.carch/sparc/cpu/leon3/serial.carch/sparc/cpu/leon3/usb_uhci.carch/x86/cpu/sc520/sc520_pci.c
board/BuS/EB+MCF-EV123/cfm_flash.cboard/BuS/EB+MCF-EV123/flash.cboard/LEOX/elpt860/flash.cboard/Marvell/common/flash.cboard/Marvell/common/i2c.cboard/Marvell/common/intel_flash.cboard/Marvell/common/ns16550.cboard/Marvell/common/serial.cboard/Marvell/db64360/mv_eth.cboard/Marvell/db64360/pci.cboard/Marvell/db64460/mv_eth.cboard/Marvell/db64460/pci.cboard/RPXClassic/flash.cboard/RPXlite/flash.cboard/RPXlite_dw/flash.cboard/RRvision/flash.cboard/a3000/flash.cboard/alaska/flash.cboard/altera/common/AMDLV065D.cboard/altera/common/cfide.cboard/altera/common/epled.cboard/altera/common/flash.cboard/altera/common/sevenseg.cboard/amcc/bamboo/flash.cboard/amcc/bubinga/flash.cboard/amcc/common/flash.cboard/amcc/ebony/flash.cboard/amcc/luan/flash.cboard/amcc/ocotea/flash.cboard/amcc/taihu/flash.cboard/amcc/taihu/lcd.cboard/amcc/taishan/lcd.cboard/amcc/walnut/flash.cboard/amcc/yucca/flash.cboard/amirix/ap1000/flash.cboard/amirix/ap1000/pci.cboard/amirix/ap1000/serial.cboard/armltd/integrator/pci.cboard/atc/flash.cboard/atmel/at91rm9200ek/led.cboard/atmel/at91sam9260ek/led.cboard/atmel/at91sam9261ek/led.cboard/atmel/at91sam9263ek/led.cboard/atmel/at91sam9m10g45ek/led.cboard/atmel/at91sam9rlek/led.cboard/bct-brettl2/cled.cboard/bct-brettl2/gpio_cfi_flash.cboard/bct-brettl2/smsc9303.cboard/bf527-ezkit/video.cboard/bf533-ezkit/flash.cboard/bf533-stamp/ide-cf.cboard/bf533-stamp/video.cboard/bf537-stamp/ide-cf.cboard/bf548-ezkit/video.cboard/bmw/flash.cboard/bmw/m48t59y.cboard/bmw/ns16550.cboard/bmw/serial.cboard/c2mon/flash.cboard/c2mon/pcmcia.cboard/calao/sbc35_a9g20/spi.cboard/calao/tny_a9260/spi.cboard/cm-bf527/gpio_cfi_flash.cboard/cm-bf537e/gpio_cfi_flash.cboard/cm-bf537u/gpio_cfi_flash.cboard/cm-bf548/video.cboard/cm4008/flash.cboard/cm41xx/flash.cboard/cm_t35/eeprom.cboard/cm_t35/leds.cboard/cmi/flash.cboard/cobra5272/flash.cboard/cogent/flash.cboard/cogent/lcd.cboard/cogent/pci.cboard/cogent/rtc.cboard/cogent/serial.cboard/cpc45/flash.cboard/cpc45/pd67290.cboard/cpc45/plx9030.cboard/cpu86/flash.cboard/cpu87/flash.cboard/cray/L1/flash.cboard/cu824/flash.cboard/dave/PPChameleonEVB/flash.cboard/dave/PPChameleonEVB/nand.cboard/dave/common/flash.cboard/dave/common/fpga.cboard/dave/common/pci.cboard/davedenx/qong/fpga.cboard/dvlhost/watchdog.cboard/eNET/eNET_pci.cboard/earthlcd/favr-32-ezkit/flash.cboard/eltec/elppc/eepro100_srom.cboard/eltec/elppc/flash.cboard/eltec/elppc/mpc107_i2c.cboard/eltec/elppc/pci.cboard/eltec/mhpc/flash.cboard/emk/common/am79c874.cboard/emk/common/flash.cboard/emk/top9000/spi.cboard/ep8260/flash.cboard/ep8260/mii_phy.cboard/esd/adciop/flash.cboard/esd/ar405/flash.cboard/esd/ash405/flash.cboard/esd/canbt/canbt.cboard/esd/canbt/flash.cboard/esd/cms700/flash.cboard/esd/common/esd405ep_nand.cboard/esd/common/flash.cboard/esd/common/fpga.cboard/esd/common/lcd.cboard/esd/common/pci.c
board/esd/common/xilinx_jtag/board/esd/cpci2dp/flash.cboard/esd/cpci405/flash.cboard/esd/cpci5200/strataflash.cboard/esd/cpci750/i2c.cboard/esd/cpci750/ide.cboard/esd/cpci750/mv_eth.cboard/esd/cpci750/pci.cboard/esd/cpci750/serial.cboard/esd/cpciiser4/flash.cboard/esd/dasa_sim/eeprom.cboard/esd/dasa_sim/flash.cboard/esd/dp405/flash.cboard/esd/du405/flash.cboard/esd/hh405/flash.cboard/esd/hub405/flash.cboard/esd/ocrtc/flash.cboard/esd/pci405/flash.cboard/esd/pci405/pci405.cboard/esd/pf5200/flash.cboard/esd/plu405/flash.cboard/esd/pmc440/fpga.cboard/esd/tasreg/flash.cboard/esd/vme8349/caddy.cboard/esd/vme8349/pci.cboard/esd/voh405/flash.cboard/esd/vom405/flash.cboard/esd/wuh405/flash.cboard/esteem192e/flash.cboard/etin/debris/flash.cboard/etin/debris/phantom.cboard/etx094/flash.cboard/eukrea/cpu9260/led.cboard/evb64260/eth_addrtbl.cboard/evb64260/eth.cboard/evb64260/flash.cboard/evb64260/i2c.cboard/evb64260/intel_flash.cboard/evb64260/pci.cboard/evb64260/serial.cboard/fads/flash.cboard/fads/lamp.cboard/fads/pcmcia.cboard/flagadm/flash.cboard/freescale/m5253demo/flash.cboard/freescale/m5329evb/nand.cboard/freescale/m5373evb/nand.cboard/freescale/mpc8260ads/flash.cboard/freescale/mpc8266ads/flash.cboard/freescale/mpc832xemds/pci.cboard/freescale/mpc8349emds/pci.cboard/freescale/mpc8349itx/pci.cboard/freescale/mpc8360emds/pci.cboard/freescale/mpc8360erdk/nand.cboard/freescale/mpc837xemds/pci.cboard/freescale/mpc837xerdb/pci.cboard/freescale/p1_p2_rdb/pci.cboard/freescale/p2041rdb/eth.cboard/freescale/p3060qds/eth.cboard/funkwerk/vovpn-gw/flash.cboard/funkwerk/vovpn-gw/m88e6060.cboard/g2000/strataflash.cboard/gdsys/common/miiphybb.cboard/gen860t/beeper.cboard/gen860t/flash.cboard/gen860t/fpga.cboard/genietv/flash.cboard/gth2/ee_access.cboard/gth2/flash.cboard/gw8260/flash.cboard/hermes/flash.cboard/hidden_dragon/flash.cboard/hymod/eeprom.cboard/hymod/env.cboard/hymod/flash.cboard/hymod/input.cboard/icecube/flash.cboard/icu862/flash.cboard/icu862/pcmcia.cboard/idmr/flash.cboard/incaip/flash.card/ip860/flash.cboard/iphase4539/flash.cboard/ivm/flash.cboard/jse/flash.cboard/jse/host_bridge.cboard/keymile/km83xx/km83xx_i2c.cboard/kup/common/flash.cboard/kup/common/pcmcia.cboard/lantec/flash.cboard/linkstation/ide.cboard/logicpd/zoom2/led.cboard/lubbock/flash.cboard/lwmon/flash.cboard/lwmon/pcmcia.cboard/lwmon5/kbd.cboard/manroland/uc100/pcmcia.cboard/matrix_vision/mergerbox/fpga.cboard/matrix_vision/mergerbox/pci.cboard/matrix_vision/mvbc_p/fpga.cboard/matrix_vision/mvblm7/fpga.cboard/matrix_vision/mvblm7/pci.cboard/matrix_vision/mvblx/fpga.cboard/matrix_vision/mvblx/sys_eeprom.cboard/matrix_vision/mvsmr/fpga.cboard/mbx8xx/flash.cboard/mbx8xx/pcmcia.cboard/mcc200/lcd.cboard/micronas/vct/ebi.cboard/micronas/vct/ebi_nor_flash.cboard/micronas/vct/ebi_onenand.cboard/micronas/vct/ebi_smc911x.cboard/micronas/vct/ehci.cboard/micronas/vct/gpio.cboard/micronas/vct/smc_eeprom.cboard/ml2/flash.cboard/ml2/serial.cboard/mousse/flash.cboard/mousse/m48t59y.cboard/mousse/pci.cboard/mpl/common/isa.cboard/mpl/common/kbd.cboard/mpl/common/pci.cboard/mpl/common/usb_uhci.cboard/musenki/flash.cboard/mvblue/flash.cboard/mx1ads/syncflash.cboard/netphone/phone_console.cboard/netphone/flash.cboard/netta/codec.cboard/netta/dsp.cboard/netta/flash.cboard/netta/pcmcia.cboard/netta2/flash.cboard/netvia/flash.cboard/ns9750dev/flash.cboard/ns9750dev/led.cboard/nx823/flash.cboard/o2dnt/flash.cboard/pb1x00/flash.cboard/pcippc2/cpc710_pci.cboard/pcippc2/flash.cboard/pcippc2/fpga_serial.cboard/pcippc2/i2c.cboard/pcippc2/pcippc2_fpga.cboard/pcippc2/sconsole.cboard/pcs440ep/flash.cboard/pm520/flash.cboard/pm826/flash.cboard/pm828/flash.cboard/ppmc7xx/flash.cboard/ppmc7xx/pci.cboard/ppmc8260/strataflash.cboard/prodrive/alpr/fpga.cboard/prodrive/alpr/nand.cboard/prodrive/common/flash.cboard/prodrive/common/fpga.cboard/prodrive/p3mx/mv_eth.cboard/prodrive/p3mx/pci.cboard/prodrive/p3mx/serial.cboard/prodrive/pdnb3/flash.cboard/prodrive/pdnb3/nand.cboard/psyent/pk1c20/led.cboard/quad100hd/nand.cboard/quantum/fpga.cboard/r360mpi/flash.cboard/r360mpi/pcmcia.cboard/rbc823/flash.cboard/rbc823/kbd.cboard/renesas/ap325rxa/cpld-ap325rxa.cboard/renesas/sh7785lcr/rtl8169_mac.cboard/ronetix/pm9261/led.cboard/ronetix/pm9263/led.cboard/rpxsuper/flash.cboard/rpxsuper/mii_phy.cboard/rsdproto/flash.cboard/sacsng/flash.cboard/samsung/goni/onenand.cboard/samsung/smdkc100/onenand.cboard/samsung/universal_c210/onenand.cboard/sandburst/common/flash.cboard/sandburst/common/ppc440gx_i2c.cboard/sandpoint/flash.cboard/sbc405/strataflash.cboard/sbc8349/pci.cboard/scb9328/flash.cboard/siemens/IAD210/flash.cboard/siemens/SCM/flash.cboard/siemens/SCM/fpga_scm.cboard/siemens/common/fpga.cboard/sixnet/flash.cboard/snmc/qs850/flash.cboard/snmc/qs860t/flash.cboard/socrates/nand.cboard/spd8xx/flash.cboard/st-ericsson/u8500/gpio.cboard/stx/stxgp3/flash.cboard/svm_sc8xx/flash.cboard/tcm-bf537/gpio_cfi_flash.cboard/ti/beagle/led.cboard/ti/omap730p2/flash.cboard/tqc/tqm5200/cam5200_flash.cboard/tqc/tqm8272/nand.cboard/tqc/tqm834x/pci.cboard/tqc/tqm85xx/nand.cboard/trizepsiv/eeprom.cboard/utx8245/flash.cboard/v37/flash.cboard/v38b/ethaddr.cboard/vpac270/onenand.cboard/w7o/flash.cboard/w7o/fpga.cboard/westel/amx860/flash.cboard/xaeniax/flash.cboard/xes/common/actl_nand.cboard/xes/common/fsl_8xxx_pci.c
Best regards,
Marek Vasut
Hi Marek,
Quoted 8 lines · Marek Vasut
Hello,
Check the following list, it's the list of drivers scattered (misplaced) across the tree. The list is not complete and might be inaccurate. But it should give a good impression of what I'm going to break soon:
arch/x86/cpu/sc520/sc520_pci.cboard/eNET/eNET_pci.c
Hmm, I'm wondering what where the line between 'driver' and 'arch/board specific driver glue' is? How was this list generated?
You seem to have missed sc520_ssi.c and sc520_timer.c
board/eNET/eNET_pci.c only contains:
pci_enet_fixup_irq() - Board specific configuration of PCI interrupt lines. This is a platform function which is specified when the board initialises the PCI driver. Note that this function calls pci_sc520_set_irq() which is located on arch/x86/cpu/sc520/sc520_pci.c (see below)
pci_init_board() - One line wrapper for pci_sc520_init() which should get dropped once the driver model and init sequence (if that gets looked at again) refactoring
pci_set_regions() - Configure the board-specific PCI memory and I/O regions
arch/x86/cpu/sc520/sc520_pci.c contains:pci_sc520_set_irq() - A support function for board-specific PCI interrupt line configurationpci_sc520_init() - SC520 specific PCI driver initialisation
So neither of these files are 'drivers' per-se. They are really just initialisation and platform specific support functions. How do these fit into the new driver model?
Regards,
Graeme
Dear Graeme Russ,
Quoted 9 lines
Hi Marek,
Quoted 6 lines · Marek Vasut
Hello,
Check the following list, it's the list of drivers scattered (misplaced) across the tree. The list is not complete and might be inaccurate. But it should give a good impression of what I'm going to break soon:
Quoted 5 lines
Quoted 2 lines
arch/x86/cpu/sc520/sc520_pci.cboard/eNET/eNET_pci.cHmm, I'm wondering what where the line between 'driver' and '
arch/boardspecific driver glue' is?
That's why I said the list isn't exactly precise.
Quoted 1 line
How was this list generated?
By hard manual labor (=slavework).
Quoted 1 line
You seem to have missed
sc520_ssi.candsc520_timer.c
I wonder if we should move the timer drivers ... maybe to drivers/timer/ ?
Quoted 6 lines
board/eNET/eNET_pci.conly contains:
pci_enet_fixup_irq()- Board specific configuration of PCI interrupt lines. This is a platform function which is specified when the board initialises the PCI driver. Note that this function callspci_sc520_set_irq()which is located onarch/x86/cpu/sc520/sc520_pci.c(see below)
Ok, so this one should be left out, I didn't properly examine them all. Just wanted to share the list, the examination will follow this weekend, when I start moving them.
Quoted 6 lines
pci_init_board()- One line wrapper forpci_sc520_init()which should get dropped once the driver model and init sequence (if that gets looked at again) refactoring
pci_set_regions()- Configure the board-specific PCI memory and I/O regions
Quoted 8 lines
arch/x86/cpu/sc520/sc520_pci.ccontains:pci_sc520_set_irq()- A support function for board-specific PCI interrupt line configurationpci_sc520_init()- SC520 specific PCI driver initialisationSo neither of these files are 'drivers' per-se. They are really just initialisation and platform specific support functions. How do these fit into the new driver model?
You can supply a pointer to that function to some "pci" driver I guess ... Pavel?
Quoted 3 lines
Regards,
Graeme
Best regards,
Marek Vasut
Hi Marek,
Quoted 8 lines · Marek Vasut
Dear Graeme Russ,
Quoted 3 lines
So neither of these files are 'drivers' per-se. They are really just initialisation and platform specific support functions. How do these fit into the new driver model?
You can supply a pointer to that function to some "pci" driver I guess ... Pavel?
In which case you have a board/arch specific function to intialise the pointer :) Hmm, or are we now looking at a variation of my INIT_FUNC architecture where this gets done at compile time?
Regards,
Graeme
Dear Graeme Russ,
Quoted 9 lines
Hi Marek,
Quoted 6 lines · Marek Vasut
Dear Graeme Russ,
Quoted 3 lines
So neither of these files are 'drivers' per-se. They are really just initialisation and platform specific support functions. How do these fit into the new driver model?
Quoted 5 lines
Quoted 2 lines
You can supply a pointer to that function to some "pci" driver I guess ... Pavel?
In which case you have a board/arch specific function to intialise the pointer :)
No, you have static platform data which contain the pointer.
Quoted 2 lines
Hmm, or are we now looking at a variation of my
INIT_FUNCarchitecture where this gets done at compile time?
I think you missed the point here
Quoted 3 lines
Regards,
Graeme
Best regards,
Marek Vasut
Hi Marek,
Quoted 11 lines · Marek Vasut
Dear Graeme Russ,
Quoted 9 lines
Hi Marek,
Quoted 6 lines · Marek Vasut
Dear Graeme Russ,
Quoted 3 lines
So neither of these files are 'drivers' per-se. They are really just initialisation and platform specific support functions. How do these fit into the new driver model?
Quoted 7 lines
Quoted 5 lines
Quoted 2 lines
You can supply a pointer to that function to some "pci" driver I guess ... Pavel?
In which case you have a board/arch specific function to intialise the pointer :)
No, you have static platform data which contain the pointer.
Ah, of course
Quoted 4 lines
Quoted 2 lines
Hmm, or are we now looking at a variation of my
INIT_FUNCarchitecture where this gets done at compile time?I think you missed the point here
Yes, by --->| |<--- that much :)
Oh, unless of course it has to be done dynamically due to a single U-Boot image supporting multiple board hardware configurations...
Regards
Graeme
Dear Graeme Russ,
Quoted 27 lines
Hi Marek,
Quoted 11 lines · Marek Vasut
Dear Graeme Russ,
Quoted 9 lines
Hi Marek,
Quoted 6 lines · Marek Vasut
Dear Graeme Russ,
Quoted 3 lines
So neither of these files are 'drivers' per-se. They are really just initialisation and platform specific support functions. How do these fit into the new driver model?
Quoted 7 lines
Quoted 5 lines
Quoted 2 lines
You can supply a pointer to that function to some "pci" driver I guess ... Pavel?
In which case you have a board/arch specific function to intialise the pointer :)
No, you have static platform data which contain the pointer.
Ah, of course
Quoted 3 lines
Quoted 2 lines
Hmm, or are we now looking at a variation of my
INIT_FUNCarchitecture where this gets done at compile time?
Quoted 6 lines
Quoted 1 line
I think you missed the point here
Yes, by --->| |<--- that much :)
Oh, unless of course it has to be done dynamically due to a single U-Boot image supporting multiple board hardware configurations...
Which is not yet happening, let's take small steps, ok?
Quoted 3 lines
Regards
Graeme
Best regards,
Marek Vasut
Dear Marek Vasut,
Quoted 147 lines · In message <[email protected]> you wrote:
Check the following list, it's the list of drivers scattered (misplaced) across the tree. The list is not complete and might be inaccurate. But it should give a good impression of what I'm going to break soon:
board/BuS/EB+MCF-EV123/cfm_flash.cboard/BuS/EB+MCF-EV123/flash.cboard/LEOX/elpt860/flash.cboard/Marvell/common/flash.cboard/Marvell/common/intel_flash.cboard/RPXClassic/flash.cboard/RPXlite/flash.cboard/RPXlite_dw/flash.cboard/RRvision/flash.cboard/a3000/flash.cboard/alaska/flash.cboard/altera/common/flash.cboard/amcc/bamboo/flash.cboard/amcc/bubinga/flash.cboard/amcc/common/flash.cboard/amcc/ebony/flash.cboard/amcc/luan/flash.cboard/amcc/ocotea/flash.cboard/amcc/taihu/flash.cboard/amcc/walnut/flash.cboard/amcc/yucca/flash.cboard/amirix/ap1000/flash.cboard/atc/flash.cboard/bct-brettl2/gpio_cfi_flash.cboard/bf533-ezkit/flash.cboard/bmw/flash.cboard/c2mon/flash.cboard/cm-bf527/gpio_cfi_flash.cboard/cm-bf537e/gpio_cfi_flash.cboard/cm-bf537u/gpio_cfi_flash.cboard/cm4008/flash.cboard/cm41xx/flash.cboard/cmi/flash.cboard/cobra5272/flash.cboard/cogent/flash.cboard/cpc45/flash.cboard/cpu86/flash.cboard/cpu87/flash.cboard/cray/L1/flash.cboard/cu824/flash.cboard/dave/PPChameleonEVB/flash.cboard/dave/common/flash.cboard/earthlcd/favr-32-ezkit/flash.cboard/eltec/elppc/flash.cboard/eltec/mhpc/flash.cboard/emk/common/flash.cboard/ep8260/flash.cboard/esd/adciop/flash.cboard/esd/ar405/flash.cboard/esd/ash405/flash.cboard/esd/canbt/flash.cboard/esd/cms700/flash.cboard/esd/common/flash.cboard/esd/cpci2dp/flash.cboard/esd/cpci405/flash.cboard/esd/cpci5200/strataflash.cboard/esd/cpciiser4/flash.cboard/esd/dasa_sim/flash.cboard/esd/dp405/flash.cboard/esd/du405/flash.cboard/esd/hh405/flash.cboard/esd/hub405/flash.cboard/esd/ocrtc/flash.cboard/esd/pci405/flash.cboard/esd/pf5200/flash.cboard/esd/plu405/flash.cboard/esd/tasreg/flash.cboard/esd/voh405/flash.cboard/esd/vom405/flash.cboard/esd/wuh405/flash.cboard/esteem192e/flash.cboard/etin/debris/flash.cboard/etx094/flash.cboard/evb64260/flash.cboard/evb64260/intel_flash.cboard/fads/flash.cboard/flagadm/flash.cboard/freescale/m5253demo/flash.cboard/freescale/mpc8260ads/flash.cboard/freescale/mpc8266ads/flash.cboard/funkwerk/vovpn-gw/flash.cboard/g2000/strataflash.cboard/gen860t/flash.cboard/genietv/flash.cboard/gth2/flash.cboard/gw8260/flash.cboard/hermes/flash.cboard/hidden_dragon/flash.cboard/hymod/flash.cboard/icecube/flash.cboard/icu862/flash.cboard/idmr/flash.cboard/incaip/flash.card/ip860/flash.cboard/iphase4539/flash.cboard/ivm/flash.cboard/jse/flash.cboard/kup/common/flash.cboard/lantec/flash.cboard/lubbock/flash.cboard/lwmon/flash.cboard/mbx8xx/flash.cboard/micronas/vct/ebi_nor_flash.cboard/ml2/flash.cboard/mousse/flash.cboard/musenki/flash.cboard/mvblue/flash.cboard/mx1ads/syncflash.cboard/netphone/flash.cboard/netta/flash.cboard/netta2/flash.cboard/netvia/flash.cboard/ns9750dev/flash.cboard/nx823/flash.cboard/o2dnt/flash.cboard/pb1x00/flash.cboard/pcippc2/flash.cboard/pcs440ep/flash.cboard/pm520/flash.cboard/pm826/flash.cboard/pm828/flash.cboard/ppmc7xx/flash.cboard/ppmc8260/strataflash.cboard/prodrive/common/flash.cboard/prodrive/pdnb3/flash.cboard/r360mpi/flash.cboard/rbc823/flash.cboard/rpxsuper/flash.cboard/rsdproto/flash.cboard/sacsng/flash.cboard/sandburst/common/flash.cboard/sandpoint/flash.cboard/sbc405/strataflash.cboard/scb9328/flash.cboard/siemens/IAD210/flash.cboard/siemens/SCM/flash.cboard/sixnet/flash.cboard/snmc/qs850/flash.cboard/snmc/qs860t/flash.cboard/spd8xx/flash.cboard/stx/stxgp3/flash.cboard/svm_sc8xx/flash.c
Quoted 8 lines
board/tcm-bf537/gpio_cfi_flash.cboard/ti/omap730p2/flash.cboard/tqc/tqm5200/cam5200_flash.cboard/utx8245/flash.cboard/v37/flash.cboard/w7o/flash.cboard/westel/amx860/flash.cboard/xaeniax/flash.c
All these are either
1) old versions of flash drivers that predate the cfi flash implementation, so they could be replaced by the CFI driver (if there was someone to test this)
or
2) very special versions of flash drivers dealing with board specific details that prevent the use of the CFI flash driver, in which case they should remain in the board directories.
Best regards,
Wolfgang Denk
Signature · 4 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Of course there's no reason for it, it's just our policy.
Dear Wolfgang Denk,
Quoted 6 lines
Dear Marek Vasut,
Quoted 3 lines · In message <[email protected]> you wrote:
Check the following list, it's the list of drivers scattered (misplaced) across the tree. The list is not complete and might be inaccurate. But it should give a good impression of what I'm going to break soon:
[...]
Quoted 5 lines
All these are either
1) old versions of flash drivers that predate the cfi flash implementation, so they could be replaced by the CFI driver (if there was someone to test this)
Well, can they not be replaced either way? Someone will eventually complain if they care enough.
Quoted 5 lines
or
2) very special versions of flash drivers dealing with board specific details that prevent the use of the CFI flash driver, in which case they should remain in the board directories.
Can these not be unified (read stuffed with #ifdef-#endif blocks for now, later replaced with platform data) ?
Quoted 3 lines
Best regards,
Wolfgang Denk
Best regards,
Marek Vasut
Dear Marek Vasut,
Quoted 9 lines · In message <[email protected]> you wrote:
Quoted 6 lines
All these are either
1) old versions of flash drivers that predate the cfi flash implementation, so they could be replaced by the CFI driver (if there was someone to test this)
Well, can they not be replaced either way? Someone will eventually complain if they care enough.
No. I will not accept moving reduindant crap into the drivers/ hierarchy. If this is code that can be replaced by using the CFI driver, this reorganization is the point to do it.
If the boards are uinmaintained, then so be it, we will remove broken stuff.
Quoted 6 lines
Quoted 3 lines
2) very special versions of flash drivers dealing with board specific details that prevent the use of the CFI flash driver, in which case they should remain in the board directories.
Can these not be unified (read stuffed with #ifdef-#endif blocks for now, later replaced with platform data) ?
I don't see how this could be done, and it seems not worth the effort to me. I smell most of these are unmaintained boards, and it's easier to clean this up once for all.
Best regards,
Wolfgang Denk
Signature · 4 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Of course there's no reason for it, it's just our policy.
Quoted 10 lines · On Friday 27 July 2012 00:41:45 Wolfgang Denk wrote:
Quoted 5 lines · Marek Vasut
Check the following list, it's the list of drivers scattered (misplaced) across the tree. The list is not complete and might be inaccurate. But it should give a good impression of what I'm going to break soon:
board/bf533-ezkit/flash.c1) old versions of flash drivers that predate the cfi flash implementation, so they could be replaced by the CFI driver (if there was someone to test this)
yep. this driver is wicked old, and has since languished for a few reasons:
- the people who wrote it originally were (are) not exactly great
programmers. in fact, they were pretty terrible.
- this particular board is one of the first Blackfins to see a real open source
port, but the board itself isn't terribly developer friendly, so no one pays too much attention to it.
- the flash does not support the CFI query command which means none of the
stock CFI code would work out of the box (it does use the AMD CFI commandset though).
- the flash is funky -- it's two chips in a single package which leads to
quite a bit of confusion, and it also has SRAM areas on it !
- the Blackfin maintainers who took over weren't terribly familiar with the
CFI spec (i would say i only have a little familiarity at a higher level).
at any rate, i was able to figure out the JEDEC probe logic in Linux somewhat recently to make it work there, and so i ported that to u-boot which means we can drop this old driver (patches already posted). seems to probe/read/erase/write just fine, so ship it ;).
Quoted 9 lines
Quoted 5 lines
board/bct-brettl2/gpio_cfi_flash.cboard/cm-bf527/gpio_cfi_flash.cboard/cm-bf537e/gpio_cfi_flash.cboard/cm-bf537u/gpio_cfi_flash.cboard/tcm-bf537/gpio_cfi_flash.c2) very special versions of flash drivers dealing with board specific details that prevent the use of the CFI flash driver, in which case they should remain in the board directories.
yep. these are merely glue to support the flashes on these boards that use GPIO's for additional address lines. they actually use the common CFI code already.
there is a thread from a while ago discussing how to make these work better in the larger u-boot framework (NOR flashes which are not fully directly mapped), but i honestly don't think i'll ever get around to implementing that idea. i have no job that requires it, and only had a passing interest in implementing it ;).
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120731/6d6cff13/attachment.pgp>
Dear Marek Vasut,
Quoted 3 lines
board/samsung/goni/onenand.cboard/samsung/smdkc100/onenand.cboard/samsung/universal_c210/onenand.c
Those files aren't drivers. Those are board specific init functions and in my opinion shall stay where they are.
Signature · 5 lines
Best regards, Lukasz Majewski Samsung Poland R&D Center | Linux Platform Group
Dear Lukasz Majewski,
Quoted 8 lines
Dear Marek Vasut,
Quoted 3 lines
board/samsung/goni/onenand.cboard/samsung/smdkc100/onenand.cboard/samsung/universal_c210/onenand.cThose files aren't drivers. Those are board specific init functions and in my opinion shall stay where they are.
That's fairy possible, I did only quick inspection and I'll be taking further look this weekend.
Best regards,
Marek Vasut
Hi Marek,
Quoted 8 lines · Marek Vasut
Dear Lukasz Majewski,
Quoted 6 lines
Dear Marek Vasut,
Quoted 3 lines
board/samsung/goni/onenand.cboard/samsung/smdkc100/onenand.cboard/samsung/universal_c210/onenand.c
Quoted 5 lines
Quoted 2 lines
Those files aren't drivers. Those are board specific init functions and in my opinion shall stay where they are.
That's fairy possible, I did only quick inspection and I'll be taking further look this weekend.
May be you should do a further look before sending a heads up about everything you see...
Signature · 2 lines
Regards, Igor.
Dear Igor Grinberg,
Quoted 11 lines
Hi Marek,
Quoted 8 lines · Marek Vasut
Dear Lukasz Majewski,
Quoted 6 lines
Dear Marek Vasut,
Quoted 3 lines
board/samsung/goni/onenand.cboard/samsung/smdkc100/onenand.cboard/samsung/universal_c210/onenand.c
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
Those files aren't drivers. Those are board specific init functions and in my opinion shall stay where they are.
That's fairy possible, I did only quick inspection and I'll be taking further look this weekend.
May be you should do a further look before sending a heads up about everything you see...
Where are you aiming with this exactly? I clearly stated I didn't do deep inspection of these and that there might be mishits
Best regards,
Marek Vasut
Quoted 16 lines · Marek Vasut
Dear Igor Grinberg,
Quoted 14 lines
Hi Marek,
Quoted 11 lines · Marek Vasut
Dear Lukasz Majewski,
Quoted 8 lines
Dear Marek Vasut,
Quoted 3 lines
board/samsung/goni/onenand.cboard/samsung/smdkc100/onenand.cboard/samsung/universal_c210/onenand.cThose files aren't drivers. Those are board specific init functions and in my opinion shall stay where they are.
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
That's fairy possible, I did only quick inspection and I'll be taking further look this weekend.
May be you should do a further look before sending a heads up about everything you see...
Where are you aiming with this exactly? I clearly stated I didn't do deep inspection of these and that there might be mishits
Probably, if you send the heads up email after taking a further look, the list would be shorter and hit the right people? Don't you think? Because, if you are going to look into this deeper,
then what the point in sending the "quick look" list?
Signature · 2 lines
Regards, Igor.
Dear Igor Grinberg,
Quoted 23 lines · Marek Vasut
Quoted 22 lines
Dear Igor Grinberg,
Quoted 19 lines
Hi Marek,
Quoted 8 lines · Marek Vasut
Dear Lukasz Majewski,
Quoted 6 lines
Dear Marek Vasut,
Quoted 3 lines
board/samsung/goni/onenand.cboard/samsung/smdkc100/onenand.cboard/samsung/universal_c210/onenand.cQuoted 5 lines
Quoted 2 lines
Those files aren't drivers. Those are board specific init functions and in my opinion shall stay where they are.
That's fairy possible, I did only quick inspection and I'll be taking further look this weekend.
May be you should do a further look before sending a heads up about everything you see...
Quoted 7 lines
Quoted 2 lines
Where are you aiming with this exactly? I clearly stated I didn't do deep inspection of these and that there might be mishits
Probably, if you send the heads up email after taking a further look, the list would be shorter and hit the right people? Don't you think? Because, if you are going to look into this deeper,
then what the point in sending the "quick look" list?
http://en.wikipedia.org/wiki/Release_early,_release_often ;-)
Best regards,
Marek Vasut
Dear Marek Vasut,
Quoted 7 lines · Marek Vasut
Hello,
Check the following list, it's the list of drivers scattered (misplaced) across the tree. The list is not complete and might be inaccurate. But it should give a good impression of what I'm going to break soon:
Quoted 6 lines
board/atmel/at91rm9200ek/led.cboard/atmel/at91sam9260ek/led.cboard/atmel/at91sam9261ek/led.cboard/atmel/at91sam9263ek/led.cboard/atmel/at91sam9m10g45ek/led.cboard/atmel/at91sam9rlek/led.c
these atmel specific led stuff is basically for very early debug (switching a LED after relocation, another one after board init, ..). It also provides possibility to use it in assembler code sections e.g. lowlevel_init.
I do not really care about that cause I normally use JTAG to debug early code. The led switching at a specific stage could be done by one of the other generic led drivers.
Beside that, I think for debugging early stage code without JTAG the serial line is much better than a LED which can only provide two states. Has anyone thought about that? Has anyone tried to add some 'early_printf' feature?
Best regards
Andreas Bie?mann