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 X-Spam-Level: X-Spam-Status: No, score=-2.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 92C1EC43441 for ; Fri, 12 Oct 2018 11:39:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5399420868 for ; Fri, 12 Oct 2018 11:39:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5399420868 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728304AbeJLTLk (ORCPT ); Fri, 12 Oct 2018 15:11:40 -0400 Received: from mga09.intel.com ([134.134.136.24]:42739 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726917AbeJLTLk (ORCPT ); Fri, 12 Oct 2018 15:11:40 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Oct 2018 04:39:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,371,1534834800"; d="scan'208";a="98616666" Received: from black.fi.intel.com (HELO black.fi.intel.com.) ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 12 Oct 2018 04:39:33 -0700 From: Heikki Krogerus To: Dmitry Torokhov , Linus Walleij , "Rafael J. Wysocki" , Andy Shevchenko , Mika Westerberg Cc: linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org Subject: [RFC PATCH 0/5] device property: Introducing software nodes Date: Fri, 12 Oct 2018 14:39:29 +0300 Message-Id: <20181012113934.29942-1-heikki.krogerus@linux.intel.com> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi guys, To continue the discussion started by Dmitry [1], this is my proposal that I mentioned in my last mail. In short, the idea is that instead of trying to extend the support for the currently used struct property_set, I'm proposing that we introduce a completely new, independent type of fwnode, and replace the struct property_set with it. I'm calling the type "software node" here. The reason for a complete separation of the software nodes from the generic property handling code is the need to be able to create the nodes independently from the devices that they are bind to. The way this works is that every node that is created will have a kobject registered. That will take care the ref counting for us, and also allow us to for example display the properties in sysfs. There are a few more details in patch 3/5 about the software nodes in the commit message. [1] https://lkml.org/lkml/2018/9/17/1067 -- heikki Heikki Krogerus (5): drivers core: Prepare support for multiple platform notifications ACPI / glue: Add acpi_platform_notify() function drivers: base: Introducing software nodes to the firmware node framework device property: Move device_add_properties() to swnode.c device property: Remove struct property_set .../ABI/testing/sysfs-devices-software_node | 27 + drivers/acpi/bus.c | 1 - drivers/acpi/glue.c | 21 +- drivers/acpi/internal.h | 1 - drivers/base/Makefile | 2 +- drivers/base/core.c | 32 +- drivers/base/property.c | 529 +----------- drivers/base/swnode.c | 812 ++++++++++++++++++ include/linux/acpi.h | 10 + include/linux/property.h | 12 + 10 files changed, 929 insertions(+), 518 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-devices-software_node create mode 100644 drivers/base/swnode.c -- 2.19.1