Message ID | 20230923143200.268063-1-umang.jain@ideasonboard.com |
---|---|
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp213030vqu; Sat, 23 Sep 2023 07:36:49 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEn3RwlchP2Baoe3HMjp2IS2LKmwiu98OIOpsYGhmddYRlCHgLHtB+QeiQVxQ5sKEScCKk7 X-Received: by 2002:aca:b04:0:b0:3ac:f107:52b with SMTP id 4-20020aca0b04000000b003acf107052bmr2671855oil.2.1695479809420; Sat, 23 Sep 2023 07:36:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695479809; cv=none; d=google.com; s=arc-20160816; b=as8n2Eg8xXqdrYrNXB3J9g4uCXzAOy2uKbLNya+aamoUbCY2iwjXjwUhUIZOZJ5KJ4 HSj3+OlP27+5F6qPj8Bb0cNGsWc5+JNfeQ1aXOMc0gI6zdfiM0tULTVyU/F3RCiZksLw OvWPuOT9lazBsJcMnwTUfC7LfOejQuU4F7OMMpmlw7eWvMogD/33VcCnUc+aROakhr7S 3TbUn+UM0A+uPELtaeaGtqoMG326WJnRPVZigLX4l7Xpk+Jo+JDG3h4kV9BbgMevutnL dtRvTqr+fJteQGlKC4dce2p6DE/741bBFf+3T0AOWt9C4Ric7OFYj3ZTGG2fz1t8xBpf o/GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=HFSN7OHMO3PYmDRGfKB3N3R9eYrU8xwnztgeKJUlgQ0=; fh=x1hGPnZeYvyedQGDVaFY4F5NZX5OfdEJxyYqoMYIkPY=; b=K2nSBnzB4nME/TuWRBEbhjLRbr00oRW6C2JJUHfYnGVIhyennKEtk/dEg9otz+Fho1 a0ts/ejHeeOrdxqw5dTSfEq9GxWCUDxzhMM1E640zmoFRFnyH65LLRdWF8+L5L6fVMfI Bfs70FqWBJTFPkXlG9jR6sbTNYEDNs9ddCwBKQzE3C61IXCFGtrNhEslqka2n8hsc49h TIdF+bVbhGEzj2GQVljR6JyjQC3uGIS8u73HGWUjJwnYAPqyYf0aBQ9PHoeMGcOJsFJX 3u+sj1BfWrJ/+WL83gYb8dZmqAcL1ZRO5vP5ygAt0FV7q6bsRtw4RJxqnU8GwL9QPIrz T42A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=fGX3rgVb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id s7-20020a056a00178700b00690258a9766si6497417pfg.373.2023.09.23.07.36.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Sep 2023 07:36:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=fGX3rgVb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 1328A809789E; Sat, 23 Sep 2023 07:32:25 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231688AbjIWOcQ (ORCPT <rfc822;chrisfriedt@gmail.com> + 29 others); Sat, 23 Sep 2023 10:32:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231330AbjIWOcN (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Sat, 23 Sep 2023 10:32:13 -0400 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2BA7C113; Sat, 23 Sep 2023 07:32:07 -0700 (PDT) Received: from umang.lan (unknown [IPv6:2001:818:e7d2:8300:2412:6733:7e63:fb46]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id CF687DE2; Sat, 23 Sep 2023 16:30:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1695479426; bh=bxWVw8EW1+W8KgrEDRuKz0AmWsn/M3h+CZ8KlUIwVbg=; h=From:To:Cc:Subject:Date:From; b=fGX3rgVbAP0RYWUm8TZ+PELGogVVXTADwIdpC/NhibEjVMuQD7TFrOlEjdL5fZOl3 BnhPtPSPC5Ss2nGmFu3lahnEmkYEl6S6apZOczbbT2lIr39q8p482Ff72B+4HpnCwy GpCETpicU/579FmYN+DQTucpj64W9wmomg+78AAM= From: Umang Jain <umang.jain@ideasonboard.com> To: linux-staging@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-rpi-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Stefan Wahren <stefan.wahren@i2se.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Florian Fainelli <f.fainelli@gmail.com>, Adrien Thierry <athierry@redhat.com>, Dan Carpenter <error27@gmail.com>, Dave Stevenson <dave.stevenson@raspberrypi.com>, Kieran Bingham <kieran.bingham@ideasonboard.com>, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Umang Jain <umang.jain@ideasonboard.com> Subject: [PATCH v12 0/6] staging: vc04_services: vchiq: Register devices with a custom bus_type Date: Sat, 23 Sep 2023 20:01:54 +0530 Message-Id: <20230923143200.268063-1-umang.jain@ideasonboard.com> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Sat, 23 Sep 2023 07:32:25 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777839436752301664 X-GMAIL-MSGID: 1777839436752301664 |
Series |
staging: vc04_services: vchiq: Register devices with a custom bus_type
|
|
Message
Umang Jain
Sept. 23, 2023, 2:31 p.m. UTC
The patch series added a new bus type vchiq_bus_type and registers child devices in order to move them away from using platform device/driver. Tested on RPi-3-b with media tree master branch. Patch 1/6 and 2/6 adds explicit DMA mask to bcm2835-camera and bcm2835-audio respectively to avoid regression when moving to away from platform device/driver model. Patch 3/6 and 4/6 adds a new bus_type and registers them to vchiq interface Patch 5/6 and 6/6 moves the bcm2835-camera and bcm2835-audio to the new bus respectively Patch 5/5 removes a platform registeration helper which is no longer required. Changes in v12: - Add initial two patches to set DMA Mask explicitly to avoid regression - fixup vchiq_device.c bad squash in v11 - Rename vchiq_device.[ch] to vchiq_bus.[ch] - Fix memory leak if device cannot be registered - Make vchiq_bus_type_match() use bool values - vchiq_register_child() helper removal folded in 6/6 instead of creating extra patch. Changes in v11: - Move setting of DMA mask in child devices (3/5 and 4/5) - Fixes "DMA mask not set issue" reported in v10. Changes in v10: - fix dma_attr WARN issue with bcm2835-audio module loading - Unregister bus on parent platform device fails to register - Reword commit to highlight bcm2835_audio to bcm2835-audio name change Changes in v9: - Fix module autoloading - Implement bus_type's probe() callback to load drivers - Implement bus_type's uevent() to make sure appropriate drivers are loaded when device are registed from vchiq. Changes in v8: - Drop dual licensing. Instead use GPL-2.0 only for patch 1/5 Changes in v7: (5 out of 6 patches from v6 merged) - Split the main patch (6/6) as requested. - Use struct vchiq_device * instead of struct device * in all bus functions. - Drop additional name attribute displayed in sysfs (redundant info) - Document vchiq_interface doesn't enumerate device discovery - remove EXPORT_SYMBOL_GPL(vchiq_bus_type) Changes in v6: - Split struct device and struct driver wrappers in vchiq_device.[ch] - Move vchiq_bus_type definition to vchiq_device.[ch] as well - return error on bus_register() failure - drop dma_set_mask_and_coherent - trivial variable name change Changes in v5: - Fixup missing "staging: " in commits' subject line - No code changes from v4 Changes in v4: - Introduce patches to drop include directives from Makefile Changes in v3: - Rework entirely to replace platform devices/driver model -v2: https://lore.kernel.org/all/20221222191500.515795-1-umang.jain@ideasonboard.com/ -v1: https://lore.kernel.org/all/20221220084404.19280-1-umang.jain@ideasonboard.com/ Umang Jain (6): staging: vc04_services: bcm2835-camera: Explicitly set DMA mask staging: vc04_services: bcm2835-audio: Explicitly set DMA mask staging: vc04_services: vchiq_arm: Add new bus type and device type staging: vc04_services: vchiq_arm: Register vchiq_bus_type staging: bcm2835-camera: Register bcm2835-camera with vchiq_bus_type staging: bcm2835-audio: Register bcm2835-audio with vchiq_bus_type drivers/staging/vc04_services/Makefile | 1 + .../vc04_services/bcm2835-audio/bcm2835.c | 26 +++-- .../bcm2835-camera/bcm2835-camera.c | 23 ++-- .../interface/vchiq_arm/vchiq_arm.c | 52 ++++----- .../interface/vchiq_arm/vchiq_bus.c | 100 ++++++++++++++++++ .../interface/vchiq_arm/vchiq_bus.h | 54 ++++++++++ 6 files changed, 209 insertions(+), 47 deletions(-) create mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c create mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.h base-commit: 0bb80ecc33a8fb5a682236443c1e740d5c917d1d
Comments
Hi all, On 9/23/23 8:01 PM, Umang Jain wrote: > The patch series added a new bus type vchiq_bus_type and registers > child devices in order to move them away from using platform > device/driver. > > Tested on RPi-3-b with media tree master branch. > > Patch 1/6 and 2/6 adds explicit DMA mask to bcm2835-camera > and bcm2835-audio respectively to avoid regression when moving > to away from platform device/driver model. > > Patch 3/6 and 4/6 adds a new bus_type and registers them to vchiq > interface > > Patch 5/6 and 6/6 moves the bcm2835-camera and bcm2835-audio > to the new bus respectively > > Patch 5/5 removes a platform registeration helper which is no > longer required. Please ignore theĀ just above line, forgot to delete while editing the cover letter. > > Changes in v12: > - Add initial two patches to set DMA Mask explicitly to avoid regression > - fixup vchiq_device.c bad squash in v11 > - Rename vchiq_device.[ch] to vchiq_bus.[ch] > - Fix memory leak if device cannot be registered > - Make vchiq_bus_type_match() use bool values > - vchiq_register_child() helper removal folded in 6/6 > instead of creating extra patch. > > Changes in v11: > - Move setting of DMA mask in child devices (3/5 and 4/5) > - Fixes "DMA mask not set issue" reported in v10. > > Changes in v10: > - fix dma_attr WARN issue with bcm2835-audio module loading > - Unregister bus on parent platform device fails to register > - Reword commit to highlight bcm2835_audio to bcm2835-audio name change > > Changes in v9: > - Fix module autoloading > - Implement bus_type's probe() callback to load drivers > - Implement bus_type's uevent() to make sure appropriate drivers are > loaded when device are registed from vchiq. > > Changes in v8: > - Drop dual licensing. Instead use GPL-2.0 only for patch 1/5 > > Changes in v7: > (5 out of 6 patches from v6 merged) > - Split the main patch (6/6) as requested. > - Use struct vchiq_device * instead of struct device * in > all bus functions. > - Drop additional name attribute displayed in sysfs (redundant info) > - Document vchiq_interface doesn't enumerate device discovery > - remove EXPORT_SYMBOL_GPL(vchiq_bus_type) > > Changes in v6: > - Split struct device and struct driver wrappers in vchiq_device.[ch] > - Move vchiq_bus_type definition to vchiq_device.[ch] as well > - return error on bus_register() failure > - drop dma_set_mask_and_coherent > - trivial variable name change > > Changes in v5: > - Fixup missing "staging: " in commits' subject line > - No code changes from v4 > > Changes in v4: > - Introduce patches to drop include directives from Makefile > > Changes in v3: > - Rework entirely to replace platform devices/driver model > > -v2: > https://lore.kernel.org/all/20221222191500.515795-1-umang.jain@ideasonboard.com/ > > -v1: > https://lore.kernel.org/all/20221220084404.19280-1-umang.jain@ideasonboard.com/ > > Umang Jain (6): > staging: vc04_services: bcm2835-camera: Explicitly set DMA mask > staging: vc04_services: bcm2835-audio: Explicitly set DMA mask > staging: vc04_services: vchiq_arm: Add new bus type and device type > staging: vc04_services: vchiq_arm: Register vchiq_bus_type > staging: bcm2835-camera: Register bcm2835-camera with vchiq_bus_type > staging: bcm2835-audio: Register bcm2835-audio with vchiq_bus_type > > drivers/staging/vc04_services/Makefile | 1 + > .../vc04_services/bcm2835-audio/bcm2835.c | 26 +++-- > .../bcm2835-camera/bcm2835-camera.c | 23 ++-- > .../interface/vchiq_arm/vchiq_arm.c | 52 ++++----- > .../interface/vchiq_arm/vchiq_bus.c | 100 ++++++++++++++++++ > .../interface/vchiq_arm/vchiq_bus.h | 54 ++++++++++ > 6 files changed, 209 insertions(+), 47 deletions(-) > create mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c > create mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.h > > > base-commit: 0bb80ecc33a8fb5a682236443c1e740d5c917d1d
Am 23.09.23 um 16:31 schrieb Umang Jain: > The patch series added a new bus type vchiq_bus_type and registers > child devices in order to move them away from using platform > device/driver. > > Tested on RPi-3-b with media tree master branch. > > Patch 1/6 and 2/6 adds explicit DMA mask to bcm2835-camera > and bcm2835-audio respectively to avoid regression when moving > to away from platform device/driver model. > > Patch 3/6 and 4/6 adds a new bus_type and registers them to vchiq > interface > > Patch 5/6 and 6/6 moves the bcm2835-camera and bcm2835-audio > to the new bus respectively > > Patch 5/5 removes a platform registeration helper which is no > longer required. > > Changes in v12: > - Add initial two patches to set DMA Mask explicitly to avoid regression > - fixup vchiq_device.c bad squash in v11 > - Rename vchiq_device.[ch] to vchiq_bus.[ch] > - Fix memory leak if device cannot be registered > - Make vchiq_bus_type_match() use bool values > - vchiq_register_child() helper removal folded in 6/6 > instead of creating extra patch. The whole series is Reviewed-by: Stefan Wahren <wahrenst@gmx.net>
On Sat, Sep 23, 2023 at 08:01:54PM +0530, Umang Jain wrote: > The patch series added a new bus type vchiq_bus_type and registers > child devices in order to move them away from using platform > device/driver. > > Tested on RPi-3-b with media tree master branch. Thanks for sticking with this through so many different revisions. I only had minor comments on the series, you can address them in follow-on patches if needed (one at the least is needed.) All are now queued up in my tree. greg k-h