Jeff Garzik writes: > Mikael Pettersson wrote: > > Jeff Garzik writes: > > > Konstantinos Margaritis wrote: > > > > (not subscribed please CC me) > > > > > > > > I tried to compile sata_sil on a 2.6.27 kernel on powerpc32 and I found that > > > > it failed to compile -lots of dmi related errors. I found that I had to > > > > include the broken_systems handling code in #ifdef CONFIG_DMI (DMI is not > > > > supported on platforms other than i386/x86_64). > > > > > > > > Lennert on #mklinux told me that this commit broke the non-dmi support, and > > > > that a similar patch to mine is used on ARM systems : > > > > > > > > commit e57db7bde7bff95ae812736ca00c73bd5271455b > > > > SATA Sil: Blacklist system that spins off disks during ACPI power off > > > > > > > > With this patch, sata_sil compiles on ppc (and I guess on other platforms). > > > > I'm using it for a while with no problems with a Delock 4-port SATA PCI card. > > > > > > (CC'ing various Lennerts) > > > > That would be Lennert Buytenhek. > > > > > What is the breakage? > > > > Compile-time error because sata_sil is used on !x86 platforms and the > > unconditional references to x86-only DMI stuff simply aren't valid. > > > > I have an ARM + sata_sil NAS box that did have this problem a few > > kernel releases back, but it got resolved before that kernel's -final. > > (I can look up the details on Thursday when I'm back to my home network.) > > Yes, I was asking for specific details of the breakage. Ok I've checked now, and the breakage is that the commit referenced above added dmi stuff to sata_sil.c without an #include <linux/dmi.h>, and that broke !x86 builds: drivers/ata/sata_sil.c: In function 'sil_broken_system_poweroff': drivers/ata/sata_sil.c:713: error: implicit declaration of function 'dmi_first_match' drivers/ata/sata_sil.c:713: warning: initialization makes pointer from integer without a cast x86 builds work because they drag in dmi.h indirectly via some other header. The follow-up commit 1737ef7598d3515fdc11cb9ba7e054f334404e04 "sata_sil: Fix build breakage" added #include <linux/dmi.h> which made !x86 builds work again. 2.6.29-rc3 was released in the window between these two commits so it had this build breakage. So the problem is not that <linux/dmi.h> doesn't work, but that someone apparently backported e57db7bde7bff95ae812736ca00c73bd5271455b to 2.6.27 but not 1737ef7598d3515fdc11cb9ba7e054f334404e04. /Mikael -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html