From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sakari Ailus Subject: [PATCH v3 17/23] v4l: fwnode: Only zero the struct if bus type is set to V4L2_MBUS_UNKNOWN Date: Thu, 13 Sep 2018 00:29:36 +0300 Message-ID: <20180912212942.19641-18-sakari.ailus@linux.intel.com> References: <20180912212942.19641-1-sakari.ailus@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180912212942.19641-1-sakari.ailus@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-media@vger.kernel.org Cc: devicetree@vger.kernel.org, jacopo@jmondi.org, dri-devel@lists.freedesktop.org, slongerbeam@gmail.com, niklas.soderlund@ragnatech.se List-Id: devicetree@vger.kernel.org SW4gb3JkZXIgdG8gcHJlcGFyZSBmb3IgYWxsb3dpbmcgZHJpdmVycyB0byBzZXQgdGhlIGRlZmF1 bHRzIGZvciBhIGdpdmVuCmJ1cywgbWFrZSB6ZXJvaW5nIHRoZSBzdHJ1Y3QgY29uZGl0aW9uYWwg YmFzZWQgb24gZGV0ZWN0aW5nIHRoZSBidXMuCkFsbCBjYWxsZXJzIG5vdyBzZXQgdGhlIGJ1cyB0 eXBlIHRvIHplcm8gd2hpY2ggYWxsb3dzIG9ubHkgemVyb2luZyB0aGUKcmVtYWluaW5nIGJ1cyB1 bmlvbi4KClNpZ25lZC1vZmYtYnk6IFNha2FyaSBBaWx1cyA8c2FrYXJpLmFpbHVzQGxpbnV4Lmlu dGVsLmNvbT4KVGVzdGVkLWJ5OiBTdGV2ZSBMb25nZXJiZWFtIDxzdGV2ZV9sb25nZXJiZWFtQG1l bnRvci5jb20+Ci0tLQogZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1md25vZGUuYyB8IDEw ICsrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1md25vZGUuYyBi L2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItZndub2RlLmMKaW5kZXggZGU0YTQzNzY1YWMy Li44MjQ0YTdiODQxNGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDIt Zndub2RlLmMKKysrIGIvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1md25vZGUuYwpAQCAt MzI1LDYgKzMyNSwxMiBAQCBzdGF0aWMgaW50IF9fdjRsMl9md25vZGVfZW5kcG9pbnRfcGFyc2Uo c3RydWN0IGZ3bm9kZV9oYW5kbGUgKmZ3bm9kZSwKIAl1MzIgYnVzX3R5cGUgPSAwOwogCWludCBy dmFsOwogCisJaWYgKHZlcC0+YnVzX3R5cGUgPT0gVjRMMl9NQlVTX1VOS05PV04pIHsKKwkJLyog WmVybyBmaWVsZHMgZnJvbSBidXMgdW5pb24gdG8gdW50aWwgdGhlIGVuZCAqLworCQltZW1zZXQo JnZlcC0+YnVzLCAwLAorCQkgICAgICAgc2l6ZW9mKCp2ZXApIC0gb2Zmc2V0b2YodHlwZW9mKCp2 ZXApLCBidXMpKTsKKwl9CisKIAlwcl9kZWJ1ZygiPT09PT0gYmVnaW4gVjRMMiBlbmRwb2ludCBw cm9wZXJ0aWVzXG4iKTsKIAogCS8qCkBAIC0zMzMsMTAgKzMzOSw2IEBAIHN0YXRpYyBpbnQgX192 NGwyX2Z3bm9kZV9lbmRwb2ludF9wYXJzZShzdHJ1Y3QgZndub2RlX2hhbmRsZSAqZndub2RlLAog CSAqLwogCW1lbXNldCgmdmVwLT5iYXNlLCAwLCBzaXplb2YodmVwLT5iYXNlKSk7CiAKLQkvKiBa ZXJvIGZpZWxkcyBmcm9tIGJ1c190eXBlIHRvIHVudGlsIHRoZSBlbmQgKi8KLQltZW1zZXQoJnZl cC0+YnVzX3R5cGUsIDAsIHNpemVvZigqdmVwKSAtCi0JICAgICAgIG9mZnNldG9mKHR5cGVvZigq dmVwKSwgYnVzX3R5cGUpKTsKLQogCWZ3bm9kZV9wcm9wZXJ0eV9yZWFkX3UzMihmd25vZGUsICJi dXMtdHlwZSIsICZidXNfdHlwZSk7CiAKIAlzd2l0Y2ggKGJ1c190eXBlKSB7Ci0tIAoyLjExLjAK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from nblzone-211-213.nblnetworks.fi ([83.145.211.213]:40956 "EHLO hillosipuli.retiisi.org.uk" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728229AbeIMCgL (ORCPT ); Wed, 12 Sep 2018 22:36:11 -0400 From: Sakari Ailus To: linux-media@vger.kernel.org Cc: devicetree@vger.kernel.org, slongerbeam@gmail.com, niklas.soderlund@ragnatech.se, jacopo@jmondi.org, p.zabel@pengutronix.de, dri-devel@lists.freedesktop.org Subject: [PATCH v3 17/23] v4l: fwnode: Only zero the struct if bus type is set to V4L2_MBUS_UNKNOWN Date: Thu, 13 Sep 2018 00:29:36 +0300 Message-Id: <20180912212942.19641-18-sakari.ailus@linux.intel.com> In-Reply-To: <20180912212942.19641-1-sakari.ailus@linux.intel.com> References: <20180912212942.19641-1-sakari.ailus@linux.intel.com> Sender: linux-media-owner@vger.kernel.org List-ID: In order to prepare for allowing drivers to set the defaults for a given bus, make zeroing the struct conditional based on detecting the bus. All callers now set the bus type to zero which allows only zeroing the remaining bus union. Signed-off-by: Sakari Ailus Tested-by: Steve Longerbeam --- drivers/media/v4l2-core/v4l2-fwnode.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c b/drivers/media/v4l2-core/v4l2-fwnode.c index de4a43765ac2..8244a7b8414e 100644 --- a/drivers/media/v4l2-core/v4l2-fwnode.c +++ b/drivers/media/v4l2-core/v4l2-fwnode.c @@ -325,6 +325,12 @@ static int __v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode, u32 bus_type = 0; int rval; + if (vep->bus_type == V4L2_MBUS_UNKNOWN) { + /* Zero fields from bus union to until the end */ + memset(&vep->bus, 0, + sizeof(*vep) - offsetof(typeof(*vep), bus)); + } + pr_debug("===== begin V4L2 endpoint properties\n"); /* @@ -333,10 +339,6 @@ static int __v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode, */ memset(&vep->base, 0, sizeof(vep->base)); - /* Zero fields from bus_type to until the end */ - memset(&vep->bus_type, 0, sizeof(*vep) - - offsetof(typeof(*vep), bus_type)); - fwnode_property_read_u32(fwnode, "bus-type", &bus_type); switch (bus_type) { -- 2.11.0