Carlo Caione <carlo@xxxxxxxxxx> writes: > On Mon, Feb 15, 2016 at 3:44 PM, Rob Groner <rgroner@xxxxxxx> wrote: >> >> >> Is there some specific place/way I can find the specific kernel version when >> support for an arbitrary chip was added? An example is the Intel 82574 >> Ethernet chip. I’m finding that google is failing me for finding the >> specific kernel of inclusion. This comes up somewhat often here at work >> (having to determine how far back our Linux support goes), so I’m trying to >> find the best way to determine this. > > git log --reverse $driver I often find it easier to use git blame for such stuff, looking at the dates of code related to the chip/feature in question. At least in cases like this where a single driver supports a number of different chips. You'll have to verify the results with "git show" of course, in case everything was refactored. The 82574 is a good example (since the authors made it easy with that comment): 1st attempt returns a code refactoring commit: bjorn@nemi:/usr/local/src/git/linux$ git log --reverse drivers/net/ethernet/intel/e1000e/82571.c commit dee1ad47f2ee75f5146d83ca757c1b7861c34c3b Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Thu Apr 7 07:42:33 2011 -0700 intel: Move the Intel wired LAN drivers Moves the Intel wired LAN drivers into drivers/net/ethernet/intel/ and the necessary Kconfig and Makefile changes. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> 2nd attempt returns the commit adding the driver, but that specific chip wasn't supported (a fact which might not be easy to sport using this method): bjorn@nemi:/usr/local/src/git/linux$ git log --reverse dee1ad47f2ee^ -- drivers/net/e1000e/82571.c commit bc7f75fa97884d41efbfde1397b621fefb2550b4 Author: Auke Kok <auke-jan.h.kok@xxxxxxxxx> Date: Mon Sep 17 12:30:59 2007 -0700 [E1000E]: New pci-express e1000 driver (currently for ICH9 devices only) This driver implements support for the ICH9 on-board LAN ethernet device. The device is similar to ICH8. The driver encompasses code to support 82571/2/3, es2lan and ICH8 devices as well, but those device IDs are disabled and will be "lifted" from the e1000 driver over one at a time once this driver receives some more live time. So you still don't know when the 82574 support was added.... git blame on the other hand, gives you this immediately: bjorn@nemi:/usr/local/src/git/linux$ git blame drivers/net/ethernet/intel/e1000e/82571.c e78b80b1079e1 drivers/net/ethernet/intel/e1000e/82571.c (David Ertman 2014-02-04 01:56:06 +0000 1) /* Intel PRO/1000 Linux driver [..] bc7f75fa97884 drivers/net/e1000e/82571.c (Auke Kok 2007-09-17 12:30:59 -0700 21) e921eb1ac411a drivers/net/ethernet/intel/e1000e/82571.c (Bruce Allan 2012-11-28 09:28:37 +0000 22) /* 82571EB Gigabit Ethernet Controller 1605927fcee41 drivers/net/e1000e/82571.c (Bruce Allan 2008-11-21 16:51:06 -0800 23) * 82571EB Gigabit Ethernet Controller (Copper) bc7f75fa97884 drivers/net/e1000e/82571.c (Auke Kok 2007-09-17 12:30:59 -0700 24) * 82571EB Gigabit Ethernet Controller (Fiber) ad68076e07fa0 drivers/net/e1000e/82571.c (Bruce Allan 2008-03-28 09:15:03 -0700 25) * 82571EB Dual Port Gigabit Mezzanine Adapter ad68076e07fa0 drivers/net/e1000e/82571.c (Bruce Allan 2008-03-28 09:15:03 -0700 26) * 82571EB Quad Port Gigabit Mezzanine Adapter ad68076e07fa0 drivers/net/e1000e/82571.c (Bruce Allan 2008-03-28 09:15:03 -0700 27) * 82571PT Gigabit PT Quad Port Server ExpressMo bc7f75fa97884 drivers/net/e1000e/82571.c (Auke Kok 2007-09-17 12:30:59 -0700 28) * 82572EI Gigabit Ethernet Controller (Copper) bc7f75fa97884 drivers/net/e1000e/82571.c (Auke Kok 2007-09-17 12:30:59 -0700 29) * 82572EI Gigabit Ethernet Controller (Fiber) bc7f75fa97884 drivers/net/e1000e/82571.c (Auke Kok 2007-09-17 12:30:59 -0700 30) * 82572EI Gigabit Ethernet Controller bc7f75fa97884 drivers/net/e1000e/82571.c (Auke Kok 2007-09-17 12:30:59 -0700 31) * 82573V Gigabit Ethernet Controller (Copper) bc7f75fa97884 drivers/net/e1000e/82571.c (Auke Kok 2007-09-17 12:30:59 -0700 32) * 82573E Gigabit Ethernet Controller (Copper) bc7f75fa97884 drivers/net/e1000e/82571.c (Auke Kok 2007-09-17 12:30:59 -0700 33) * 82573L Gigabit Ethernet Controller 4662e82b2cb41 drivers/net/e1000e/82571.c (Bruce Allan 2008-08-26 18:37:06 -0700 34) * 82574L Gigabit Network Connection 8c81c9c315b7e drivers/net/e1000e/82571.c (Alexander Duyck 2009-03-19 01:12:27 +0000 35) * 82583V Gigabit Network Connection bc7f75fa97884 drivers/net/e1000e/82571.c (Auke Kok 2007-09-17 12:30:59 -0700 36) */ bc7f75fa97884 drivers/net/e1000e/82571.c (Auke Kok 2007-09-17 12:30:59 -0700 37) bc7f75fa97884 drivers/net/e1000e/82571.c (Auke Kok 2007-09-17 12:30:59 -0700 38) #include "e1000.h" And you can verify by looking at the commit: bjorn@nemi:/usr/local/src/git/linux$ git show 4662e82b2cb41 commit 4662e82b2cb41c60826e50474dd86dd5c6372b0c Author: Bruce Allan <bruce.w.allan@xxxxxxxxx> Date: Tue Aug 26 18:37:06 2008 -0700 e1000e: add support for new 82574L part This new part has the same feature set as previous parts with the addition of MSI-X support. Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> [etc] I'll admit that this example was extremely easy. Most of the time you'll have to figure out the relevant commits by looking at code lines related to that chip. But it's still easier to look at git blame than the log if the support was added to an existing driver. Bjørn _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies