From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from shelob.surriel.com (shelob.surriel.com [96.67.55.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 45337C433F5 for ; Fri, 21 Jan 2022 08:54:07 +0000 (UTC) Received: from localhost ([::1] helo=shelob.surriel.com) by shelob.surriel.com with esmtp (Exim 4.94.2) (envelope-from ) id 1nApfX-0006uC-7R; Fri, 21 Jan 2022 03:53:15 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by shelob.surriel.com with esmtps (TLS1.2) tls TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nApfU-0006tR-LT for kernelnewbies@kernelnewbies.org; Fri, 21 Jan 2022 03:53:13 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id AFFF95C01C4; Fri, 21 Jan 2022 03:53:09 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Fri, 21 Jan 2022 03:53:09 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kroah.com; h=cc :cc:content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm2; bh=bEhZ6CQVr5gCuz7egWzPcKpW12hVvGIyrDNW3q UcK1c=; b=HtDXvzDyHnlAuxe1uJk2bzmPR2nxRuihO9274GAVV/tfi40WK2abzb LulHvfzbhx9HnUnyvgjxnL7qcqwOyZwT3rnnUpXO2I4ZDIetVH0pKKNg5hbiB2Fy 2c9KlW1qe4bto2qKbP5DzOrY/00ro/TIFlpGWEtYaV6EdOPfiAtrtSPI+ovJRL9K w1iiEV7CsWNL1NAGIrY8UkXXWANmeKTiJsYhSnPABQxsU1LlicOxDgdeb0wPYEdv vYWuO3e4glkBeJ9j8EVzJ3UQGK8VmQCmSMLxxwU0vNHjSJU2nhDvqvc+zWCK5+XB zZtb3L+22tb5cIzeMVikNJpt6/anl/gQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=bEhZ6CQVr5gCuz7eg WzPcKpW12hVvGIyrDNW3qUcK1c=; b=akiBoC02Vd8qyqN7rVudahUF6tb1aJZSG UIZ3FFVmcouFO+G4icr+P5Z/CXe8cOPPbZsqWSo3JgxcvCYKrY3ZfR4sZdIYIjUc UpIidV1WR65omS0wfzKOmz01spOTW33RPWaL/dDCkSkwab0n/pwanzTAvgdFUvKU NENRc2yOdilMI8tiIOAnDBEzv5v4hZehPqJdxty1KdLtAX/qOLHvdV2ZLrKbDCjn /Yi/I2r2wESmMPUP1z92AsvPIr3gZAB0FXpjEcPdTkqOyf8GQlTY0rKoNTI3x5h7 ztxU224ZBQt7wck3Oe73RIwTc6UtU3esg7G7qILg1utEWANcaDnJw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvvddrudelgdduvdehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfhfgggtuggjsehttdertddttddvnecuhfhrohhmpefirhgvghcu mffjuceoghhrvghgsehkrhhorghhrdgtohhmqeenucggtffrrghtthgvrhhnpedvkeejie fhjeejfeelheeuhfegveegieeiteetjeeggeffheetkeffgeehgeffteenucffohhmrghi nhepgihilhhinhigrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe hmrghilhhfrhhomhepghhrvghgsehkrhhorghhrdgtohhm X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 21 Jan 2022 03:53:08 -0500 (EST) Date: Fri, 21 Jan 2022 09:53:06 +0100 From: Greg KH To: Tianrui Wei Subject: Re: How to Convert Legacy Kernel Modules for modern Kernels Message-ID: References: <77D00D9A-F4E5-429F-BD91-729EE2847482@tianruiwei.com> <26CF6336-497B-4694-A150-E3003692B895@tianruiwei.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <26CF6336-497B-4694-A150-E3003692B895@tianruiwei.com> Cc: kernelnewbies@kernelnewbies.org X-BeenThere: kernelnewbies@kernelnewbies.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Learn about the Linux kernel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: kernelnewbies-bounces@kernelnewbies.org On Fri, Jan 21, 2022 at 04:21:18PM +0800, Tianrui Wei wrote: > >> If there're not out of box solutions, is there a way I could view the > >> API changes in every subsystem clearly? For example, this particular > >> commit[^1] shows the second return argument is being removed from > >> ki_complete, and it took a lot of fishing down the lkml to do. Perhaps > >> there is a simpler way? > > > > Use git itself to track the changes in apis. You can see all changes to > > a .h file by doing: > > git log -p path/to/file > > and then see where the api got changed. > > This is a really good suggestion, and it's also the way I approach > recent kernel modules. However some specifically ancient kernel > modules is rather difficult to use this approach. We have git history going back to Linux 0.1 so this should work. If not, then do the normal 'does it build' test. APIs are almost always changed in ways that break the build. > > It usually isn't that difficult to forward port a driver, but it all > > depends on the age of the code, and what it actually does. Do you have > > a link to the code you wish to drag forward? > > The specific driver I had in mind is a PCIE driver for a Xilinx IP > block. It's under > https://www.xilinx.com/products/boards-and-kits/ek-k7-kc705-g.html#resources > in a zip folder called rdf0281-kc705-base-trd-2014-3.zip. Everyone > with a xilinx account could download the folder. Unfortunately its > header claims it contains confidential information from Xilinx, as > such I'm a bit wary to post it online. Please get support from xilix for stuff like this. You are paying for it from them, so please take advantage of it. Especially if they claim that their code is not GPLv2 compatible, you want them to take that legal risk, not you :) greg k-h _______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies