Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4314946pxf; Tue, 30 Mar 2021 05:02:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw/aqvPAa9Yv3Ac+YimYlIyHn1hHIdsFfqLT8d81Z7j6L5US8MHLOWml+XYMzqqA5M7KR7j X-Received: by 2002:aa7:c907:: with SMTP id b7mr33442613edt.37.1617105751531; Tue, 30 Mar 2021 05:02:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617105751; cv=none; d=google.com; s=arc-20160816; b=iQMf+Krj9zOHfmn9qzKlrKUFiWdLI9jbt4aAqjQtbIKVzJqpgBKT8tRtwcloW8urN3 S9XKIIYDay8M956hL6grkUAqEqpsP+0PSfM/6qg3U+8V5vymYoUbl3nPMNAeM5UXZCCE 0YPotGn45z+8DGL993VzVQNKZBNQpsWsnn84kkq8CAQLOPXwakggZ3EdmpOVe0ZRIkC0 E0xPv3TOKp3k3BuaCQBHUXLa2/4PH2S8YsDOMYNz0VRUPb7SRx1eeKuyO8GRsNn4YOBj Pg689n9E7NfbW900wxZvwhJ4bBpO8mIKwqIc2avEZFzVcy8SMdsrcgynqaiIRGj8froc baUg== 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 :references:in-reply-to:message-id:subject:cc:to:from:date; bh=iUIYLxpQgnneXg73tVQCmb3d63mdG2Zv9CM2IYmIa0w=; b=yB54IHKq4vNRr+g4g5tc1IBDPqNu+vA0jO0CRMR2eDrKl82ZjgtPUuvnWKkFCcJMAX 6visqW54UkJvDNme9Tn20SqgWe/UrunKo/Ziwh72EGCddxapFaT5KuU48k8pdMuD2L6v dAo+s7EOp++F/8+vyUbA5EWxZKggpfyAxIRDSo2UXq/dB57dJf7fXo/k5+oeuoGihS39 O9zl2fhBab/g4xSj/AJiIKm52xLe9h/RLrU5vwgvZ9lbqJdYTU439A+Nf6d87yd/EriF wSxiL+EBvOk1XCofReomCnL1iGQ8l8EYVsCuYRG4dBJlbIRXcYg4SugYsKxGKyU8Kc3h cKUg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a29si15620859edb.437.2021.03.30.05.02.08; Tue, 30 Mar 2021 05:02:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231874AbhC3L6o (ORCPT + 99 others); Tue, 30 Mar 2021 07:58:44 -0400 Received: from lizzard.sbs.de ([194.138.37.39]:57565 "EHLO lizzard.sbs.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231434AbhC3L6h (ORCPT ); Tue, 30 Mar 2021 07:58:37 -0400 Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by lizzard.sbs.de (8.15.2/8.15.2) with ESMTPS id 12UBwASC031115 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 30 Mar 2021 13:58:10 +0200 Received: from md1za8fc.ad001.siemens.net ([167.87.2.166]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 12UBw9Uv013007; Tue, 30 Mar 2021 13:58:09 +0200 Date: Tue, 30 Mar 2021 13:58:08 +0200 From: Henning Schild To: Andy Shevchenko Cc: Linux Kernel Mailing List , Linux LED Subsystem , Platform Driver , linux-watchdog@vger.kernel.org, Srikanth Krishnakar , Jan Kiszka , Gerd Haeussler , Guenter Roeck , Wim Van Sebroeck , Mark Gross , Hans de Goede , Pavel Machek , Enrico Weigelt Subject: Re: [PATCH v3 2/4] leds: simatic-ipc-leds: add new driver for Siemens Industial PCs Message-ID: <20210330135808.373c3308@md1za8fc.ad001.siemens.net> In-Reply-To: References: <20210329174928.18816-1-henning.schild@siemens.com> <20210329174928.18816-3-henning.schild@siemens.com> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am Tue, 30 Mar 2021 14:04:35 +0300 schrieb Andy Shevchenko : > On Mon, Mar 29, 2021 at 8:59 PM Henning Schild > wrote: > > > > This driver adds initial support for several devices from Siemens. > > It is based on a platform driver introduced in an earlier commit. > > ... > > > +#define SIMATIC_IPC_LED_PORT_BASE 0x404E > > > +static struct simatic_ipc_led simatic_ipc_leds_io[] = { > > + {1 << 15, "green:" LED_FUNCTION_STATUS "-1" }, > > + {1 << 7, "yellow:" LED_FUNCTION_STATUS "-1" }, > > + {1 << 14, "red:" LED_FUNCTION_STATUS "-2" }, > > + {1 << 6, "yellow:" LED_FUNCTION_STATUS "-2" }, > > + {1 << 13, "red:" LED_FUNCTION_STATUS "-3" }, > > + {1 << 5, "yellow:" LED_FUNCTION_STATUS "-3" }, > > + { } > > +}; > > > +static struct simatic_ipc_led simatic_ipc_leds_mem[] = { > > + {0x500 + 0x1A0, "red:" LED_FUNCTION_STATUS "-1"}, > > + {0x500 + 0x1A8, "green:" LED_FUNCTION_STATUS "-1"}, > > + {0x500 + 0x1C8, "red:" LED_FUNCTION_STATUS "-2"}, > > + {0x500 + 0x1D0, "green:" LED_FUNCTION_STATUS "-2"}, > > + {0x500 + 0x1E0, "red:" LED_FUNCTION_STATUS "-3"}, > > + {0x500 + 0x198, "green:" LED_FUNCTION_STATUS "-3"}, > > + { } > > +}; > > It seems to me like poking GPIO controller registers directly. This > is not good. The question still remains: Can we simply register a > GPIO (pin control) driver and use an LED GPIO driver with an > additional board file that instantiates it? I wrote about that in reply to the cover letter. My view is still that it would be an abstraction with only one user, just causing work and likely not ending up as generic as it might eventually have to be. The region is reserved, not sure what the problem with the "poking" is. Maybe i do not understand all the benefits of such a split at this point in time. At the moment i only see work with hardly any benefit, not just work for me but also for maintainers. I sure do not mean to be ignorant. Maybe you go into details and convince me or we wait for other peoples opinions on how to proceed, maybe there is a second user that i am not aware of? Until i am convinced otherwise i will try to argue that a single-user-abstraction is needless work/code, and should be done only when actually needed. regards, Henning