Hi, On Mon, 2009-11-09 at 17:54 +0100, Ralf Baechle wrote: > On Tue, Nov 10, 2009 at 12:36:48AM +0800, Wu Zhangjin wrote: > > > > Grant Likely convinced me in Tokyo that this is the way to go. He intends > > > to rewrite the FDT code into an easily re-usable library which he estimates > > > to take a month or two after which I'd like to start using it on MIPS. > > > This probably also means FDT support for PMON will eventually be needed. > > > > > > > Thanks for your pointer, Will take a look at FDT asap. > > > > > Until then of course machtype=<whatever> is a fair solution. > > > > > > > are you ready to apply it? then I will push the Cpufreq and Standby > > support, and really hope we can get a full loongson2f support in the > > mainline's 33 version ;) > > I had already taken the previous version into the -queue tree. > > What are the changes since -v1? I've done a few changes myself, mostly > tweaking the English language bits of the patch, so incremental patches > would be ideal. > Very few of changes, did you apply the changes in this one? [PATCH v2 6/7] [loongson] lemote-2f: add reset support about this part in arch/mips/loongson/lemote-2f/reset.c, I have removed the array, and used the "switch...case..." instead. +void mach_prepare_reboot(void) +{ + switch (mips_machtype) { + case MACH_LEMOTE_FL2F: + fl2f_reboot(); + break; + case MACH_LEMOTE_ML2F7: + ml2f_reboot(); + break; + case MACH_LEMOTE_YL2F89: + yl2f89_reboot(); + break; + default: + break; + } +} + +void mach_prepare_shutdown(void) +{ + switch (mips_machtype) { + case MACH_LEMOTE_FL2F: + fl2f_shutdown(); + break; + case MACH_LEMOTE_ML2F7: + ml2f_shutdown(); + break; + case MACH_LEMOTE_YL2F89: + yl2f89_shutdown(); + break; + default: + break; + } +} and also, I have replaced that f0 by PCI_MSR_CTRL in this one: [PATCH v2 4/7] [loongson] lemote-2f: add pci support about this part in arch/mips/pci/ops-loongson2.c: +#ifdef CONFIG_CS5536 + /* cs5536_pci_conf_read4/write4() will call _rdmsr/_wrmsr() to + * access the regsters PCI_MSR_ADDR, PCI_MSR_DATA_LO, + * PCI_MSR_DATA_HI, which is bigger than PCI_MSR_CTRL, so, it + * will not go this branch, but the others. so, no calling dead + * loop here. + */ + if ((PCI_IDSEL_CS5536 == device) && (reg < PCI_MSR_CTRL)) { If it's hard to find them, I will send the increment patches later. Regards, Wu Zhangjin