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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 322A1C00140 for ; Tue, 2 Aug 2022 13:34:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234354AbiHBNea (ORCPT ); Tue, 2 Aug 2022 09:34:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36828 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232569AbiHBNe3 (ORCPT ); Tue, 2 Aug 2022 09:34:29 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BD76717E3A; Tue, 2 Aug 2022 06:34:27 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 3CF5EB81EFB; Tue, 2 Aug 2022 13:34:26 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6F88AC433C1; Tue, 2 Aug 2022 13:34:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1659447264; bh=FtHGa4GAb7Wv5gMgYrY9d3VJP1ZXtm3ZJZTT33K2diY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=xXsbUmWphF15LCQVZteM5bYujnkwxYbOryBRiGJSVPbtnM4uQ9xB93UUKwATZx/Lr yZIgc+tyBC+atNhr+0msSXNKjYAFtnDj8xPrqlI1JbhvD+1F9oFb3uEX0zEjndtdAQ S52uK9l/0UQFbcDQZcNFy6AisNEC/Oc0+qDyRcwc= Date: Tue, 2 Aug 2022 15:34:22 +0200 From: Greg Kroah-Hartman To: Miguel Ojeda Cc: Linus Torvalds , rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, Jarkko Sakkinen , Wedson Almeida Filho , Alex Gaynor , Geoffrey Thomas , Finn Behrens , Adam Bratschi-Kaye , Michael Ellerman , Sumera Priyadarsini , Sven Van Asbroeck , Gary Guo , Boris-Chengbiao Zhou , Boqun Feng , Fox Chen , Dan Robertson , Viktor Garske , Dariusz Sosnowski , =?iso-8859-1?B?TOlv?= Lanteri Thauvin , Niklas Mohrin , Gioh Kim , Daniel Xu , Milan Landaverde , Morgan Bartlett , Maciej Falkowski , Jiapeng Chong , =?iso-8859-1?Q?N=E1ndor_Istv=E1n_Kr=E1cser?= , David Gow , John Baublitz , =?iso-8859-1?Q?Bj=F6rn?= Roy Baron Subject: Re: [PATCH v8 17/31] rust: add `kernel` crate Message-ID: References: <20220802015052.10452-1-ojeda@kernel.org> <20220802015052.10452-18-ojeda@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20220802015052.10452-18-ojeda@kernel.org> Precedence: bulk List-ID: X-Mailing-List: rust-for-linux@vger.kernel.org On Tue, Aug 02, 2022 at 03:50:04AM +0200, Miguel Ojeda wrote: > From: Wedson Almeida Filho > > The `kernel` crate currently includes all the abstractions that wrap > kernel features written in C. > > These abstractions call the C side of the kernel via the generated > bindings with the `bindgen` tool. Modules developed in Rust should > never call the bindings themselves. > > In the future, as the abstractions grow in number, we may need > to split this crate into several, possibly following a similar > subdivision in subsystems as the kernel itself and/or moving > the code to the actual subsystems. > > Co-developed-by: Alex Gaynor > Signed-off-by: Alex Gaynor > Co-developed-by: Geoffrey Thomas > Signed-off-by: Geoffrey Thomas > Co-developed-by: Finn Behrens > Signed-off-by: Finn Behrens > Co-developed-by: Adam Bratschi-Kaye > Signed-off-by: Adam Bratschi-Kaye > Co-developed-by: Michael Ellerman > Signed-off-by: Michael Ellerman > Co-developed-by: Sumera Priyadarsini > Signed-off-by: Sumera Priyadarsini > Co-developed-by: Sven Van Asbroeck > Signed-off-by: Sven Van Asbroeck > Co-developed-by: Gary Guo > Signed-off-by: Gary Guo > Co-developed-by: Boris-Chengbiao Zhou > Signed-off-by: Boris-Chengbiao Zhou > Co-developed-by: Boqun Feng > Signed-off-by: Boqun Feng > Co-developed-by: Fox Chen > Signed-off-by: Fox Chen > Co-developed-by: Dan Robertson > Signed-off-by: Dan Robertson > Co-developed-by: Viktor Garske > Signed-off-by: Viktor Garske > Co-developed-by: Dariusz Sosnowski > Signed-off-by: Dariusz Sosnowski > Co-developed-by: Léo Lanteri Thauvin > Signed-off-by: Léo Lanteri Thauvin > Co-developed-by: Niklas Mohrin > Signed-off-by: Niklas Mohrin > Co-developed-by: Gioh Kim > Signed-off-by: Gioh Kim > Co-developed-by: Daniel Xu > Signed-off-by: Daniel Xu > Co-developed-by: Milan Landaverde > Signed-off-by: Milan Landaverde > Co-developed-by: Morgan Bartlett > Signed-off-by: Morgan Bartlett > Co-developed-by: Maciej Falkowski > Signed-off-by: Maciej Falkowski > Co-developed-by: Jiapeng Chong > Signed-off-by: Jiapeng Chong > Co-developed-by: Nándor István Krácser > Signed-off-by: Nándor István Krácser > Co-developed-by: David Gow > Signed-off-by: David Gow > Co-developed-by: John Baublitz > Signed-off-by: John Baublitz > Co-developed-by: Björn Roy Baron > Signed-off-by: Björn Roy Baron > Signed-off-by: Wedson Almeida Filho > Co-developed-by: Miguel Ojeda > Signed-off-by: Miguel Ojeda > --- > rust/kernel/allocator.rs | 64 ++ > rust/kernel/amba.rs | 261 +++++++ > rust/kernel/build_assert.rs | 83 +++ > rust/kernel/chrdev.rs | 206 ++++++ > rust/kernel/clk.rs | 79 ++ > rust/kernel/cred.rs | 46 ++ > rust/kernel/delay.rs | 104 +++ > rust/kernel/device.rs | 527 ++++++++++++++ > rust/kernel/driver.rs | 442 +++++++++++ > rust/kernel/error.rs | 564 ++++++++++++++ > rust/kernel/file.rs | 887 +++++++++++++++++++++++ > rust/kernel/fs.rs | 846 +++++++++++++++++++++ > rust/kernel/fs/param.rs | 553 ++++++++++++++ > rust/kernel/gpio.rs | 505 +++++++++++++ > rust/kernel/hwrng.rs | 210 ++++++ > rust/kernel/io_buffer.rs | 153 ++++ > rust/kernel/io_mem.rs | 278 +++++++ > rust/kernel/iov_iter.rs | 81 +++ > rust/kernel/irq.rs | 681 +++++++++++++++++ > rust/kernel/kasync.rs | 50 ++ > rust/kernel/kasync/executor.rs | 154 ++++ > rust/kernel/kasync/executor/workqueue.rs | 291 ++++++++ > rust/kernel/kasync/net.rs | 322 ++++++++ > rust/kernel/kunit.rs | 91 +++ > rust/kernel/lib.rs | 267 +++++++ > rust/kernel/linked_list.rs | 247 +++++++ > rust/kernel/miscdev.rs | 290 ++++++++ > rust/kernel/mm.rs | 149 ++++ > rust/kernel/module_param.rs | 499 +++++++++++++ > rust/kernel/net.rs | 392 ++++++++++ > rust/kernel/net/filter.rs | 447 ++++++++++++ > rust/kernel/of.rs | 63 ++ > rust/kernel/pages.rs | 144 ++++ > rust/kernel/platform.rs | 223 ++++++ > rust/kernel/power.rs | 118 +++ > rust/kernel/prelude.rs | 36 + > rust/kernel/print.rs | 406 +++++++++++ > rust/kernel/random.rs | 42 ++ > rust/kernel/raw_list.rs | 361 +++++++++ > rust/kernel/rbtree.rs | 563 ++++++++++++++ > rust/kernel/revocable.rs | 425 +++++++++++ > rust/kernel/security.rs | 38 + > rust/kernel/static_assert.rs | 34 + > rust/kernel/std_vendor.rs | 161 ++++ > rust/kernel/str.rs | 597 +++++++++++++++ > rust/kernel/sync.rs | 48 +- > rust/kernel/sysctl.rs | 199 +++++ > rust/kernel/task.rs | 239 ++++++ > rust/kernel/types.rs | 705 ++++++++++++++++++ > rust/kernel/unsafe_list.rs | 680 +++++++++++++++++ > rust/kernel/user_ptr.rs | 175 +++++ > rust/kernel/workqueue.rs | 512 +++++++++++++ > 52 files changed, 15518 insertions(+), 20 deletions(-) This is huge for a single commit, and pretty much impossible to review as-is. Any chance you can turn this into a series of commits, that starts with the basics and builds on top of that? Right now you are mixing many many different subsystems all at once into one commit, guaranteeing that no one can review the whole thing properly :( thanks, greg k-h