Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp2703307ybz; Sun, 3 May 2020 07:23:19 -0700 (PDT) X-Google-Smtp-Source: APiQypJcxz5c65AbjdaWdXzaN/uxOcutHIQ0f7C3gKbAUXsKM/KdXp3S9zKacXxBYeqjtB9cx+A5 X-Received: by 2002:a17:906:edc2:: with SMTP id sb2mr10377620ejb.129.1588515799306; Sun, 03 May 2020 07:23:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588515799; cv=none; d=google.com; s=arc-20160816; b=Pg2bUps0+KooMAV1am1cp1fq7e5BFfVXrMB6qtAuiWJiXEohqZXOZcQiDKDMMJ1ltv DQlb45WCbfRDQH6JrrNSr+HnqQrSK1qkZEpy4no3bXjvwV5yu4Ga4evLbUyFAEGow8aH Gcu6QWVZDYNlY/NYejZ4AjNs0uve7ORvVYP0jmldR97sLjq2zXQVkXHYOpRcHjzv57V7 to0m4PH06B1D71UY5k7kjBGmL4MMgY4nfJdE/PGcvqcr4YxQQYCr/rdVNkRISZguvlaa gXYYGbUZgOC1oMIL9TTrYafET7r3hzuVn7yP/Uaun1hkIDIog8l6WJgfzkwN3KEbpfWp xqhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from; bh=2WrTO796kSIwhw99y/I9cPnavvgeQgXrk7Oovnxxakw=; b=gL9NtYfA2+2xZhV3I/S5oGanKpqrXWvMQ5h14D0f8gGo+rv1m6sFfPvW+PIqlHpY4n hfeid0Pp5M1LOIbZaqh5SR+pe7wxs2OvsZ61i8baB4SCzQnGXxlxK46WYrr3AYKjRx3O PEZyUQ5FCwq9rfvdJXp8/b2SmGc6qG+G2Sk9ENyDGc3j+SanJqOqBEtjiomA1/si6wRe zbNct9iz5oJTrk9yltT47n5OpyHWm7XaHeCefFt7K3/knf0U0w1l59qcF0e/6Tq3ML7i AZWwnyhKfbh48whOybu214L2WyBQQisolO3EfwgLEhEKYeF/KnxvJxbUCZ4yjyExEcVr 5pyA== 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=aculab.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b5si5306311edq.191.2020.05.03.07.22.56; Sun, 03 May 2020 07:23:19 -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=aculab.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728651AbgECOVQ convert rfc822-to-8bit (ORCPT + 99 others); Sun, 3 May 2020 10:21:16 -0400 Received: from eu-smtp-delivery-151.mimecast.com ([146.101.78.151]:36753 "EHLO eu-smtp-delivery-151.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728522AbgECOVQ (ORCPT ); Sun, 3 May 2020 10:21:16 -0400 Received: from AcuMS.aculab.com (156.67.243.126 [156.67.243.126]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-195-H0ScGf_APEKaLWptspzlKw-1; Sun, 03 May 2020 15:21:12 +0100 X-MC-Unique: H0ScGf_APEKaLWptspzlKw-1 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) by AcuMS.aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Sun, 3 May 2020 15:21:11 +0100 Received: from AcuMS.Aculab.com ([fe80::43c:695e:880f:8750]) by AcuMS.aculab.com ([fe80::43c:695e:880f:8750%12]) with mapi id 15.00.1347.000; Sun, 3 May 2020 15:21:11 +0100 From: David Laight To: 'Jonathan Cameron' , William Breathitt Gray CC: "kamel.bouhara@bootlin.com" , "gwendal@chromium.org" , "alexandre.belloni@bootlin.com" , "david@lechnology.com" , "felipe.balbi@linux.intel.com" , "fabien.lahoudere@collabora.com" , "linux-iio@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-stm32@st-md-mailman.stormreply.com" , "linux-arm-kernel@lists.infradead.org" , "syednwaris@gmail.com" , "patrick.havelange@essensium.com" , "fabrice.gasnier@st.com" , "mcoquelin.stm32@gmail.com" , "alexandre.torgue@st.com" Subject: RE: [PATCH 0/4] Introduce the Counter character device interface Thread-Topic: [PATCH 0/4] Introduce the Counter character device interface Thread-Index: AQHWIVUDUyU0PU/R2k6dJAMe78u4OaiWaHyQ Date: Sun, 3 May 2020 14:21:11 +0000 Message-ID: References: <20200503151314.2ac1fc2e@archlinux> In-Reply-To: <20200503151314.2ac1fc2e@archlinux> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jonathan Cameron > Sent: 03 May 2020 15:13 ... > > The following are some questions I have about this patchset: > > > > 1. Should enums be used to represent standard counter component states > > (e.g. COUNTER_SIGNAL_LOW), or would these be better defined as int? > > > > These standard counter component states are defined in the > > counter-types.h file and serve as constants used by counter device > > drivers and Counter subsystem components in order to ensure a > > consistent interface. > > > > My concern is whether enum constants will cause problems when passed > > to userspace via the Counter character device ioctl calls. Along the > > same lines is whether the C bool datatype is safe to pass as well, > > given that it is a more modern C datatype. > > For enums, I'd pass them as integers. > > Bool is probably fine either way. Always use fixed size types in any API structures. Ensure that fields are always on their natural boundaries. So no enums and no bools. It may even be worth using uint64_t for any userspace pointers. At some point you'll live to regret anything else. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)