Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp3413444ybt; Tue, 30 Jun 2020 02:04:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyZW49BgDpjzRoambqTzEPBwRzvKYU9lI1UtBWqxzOdDTOWe6Sy5hZ2m64wH/1/LLiWBJ8p X-Received: by 2002:a50:c219:: with SMTP id n25mr22093417edf.306.1593507863169; Tue, 30 Jun 2020 02:04:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593507863; cv=none; d=google.com; s=arc-20160816; b=OaHahC5NOhW0sKCR6fQxMBrpMdjk1U1UFn7exrEQdD8xPmUFE03oPjHycuDJLTJeMk 2f8NqVDzHtsnxl+TmZwOOgBBF0KGz6chTXglrhel+OuUnBZgPydG4HNRHFrTdHAjZCuF c1KhRXfW6Nn4mw/G6TKaidVVzzUmEXQ6jcp0uPY8VUCDwRT4iETI8Sc9DBvSlQYFku3n f0qBc25brxEoTxDt6sq0UwAzDm29X6RGMb9sKJVUk9MW/WmD9nK6dPOSwvYVMLFPu/7/ Pa0ZjcmlKvIR63XB2aRBRDoyw71W3BVNSy7gYLCDfVgcRgxFJ3xVQZxxWlyIAt+olUql pk5A== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=0HQcsWAVWf3W2shwVfdnWwI1iQ57DD5fcjRBXcqcjFA=; b=OifLkzsOZ1HOyQd2A3ZNUCOTxkcfyneD4boMIq7zK1u9HkFktPSLEyrjpS1yjiOzBM 1+XwAhqkiIRCldFLb0qDbhUz5VGR6who70kbrKFeaGZIgTTkVKD6kHwgr+HyExXKE3CR cot7na9wlyLdxSsqi4/J6g5gjkBY9CSb5QQEMKBh1rCgV2t/nZZYvu7Tosa3M3Djo3UW SfeCYhV1eKWRBMYOZ5xD50b3Hcpw+AwIwPbqtiNQPoIwyNEPHPTbNUKWB+5k4yRt4VNT e+3lRfSA90Vthu5C6ossSQ6LMuf9FP9FjNJOq6TyDomIs369uDJzmT3qD7HHNSel6El1 Z7lQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b="t/F4Y9mz"; 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=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y26si1322695edi.339.2020.06.30.02.04.00; Tue, 30 Jun 2020 02:04:23 -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; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b="t/F4Y9mz"; 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=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731774AbgF3JAk (ORCPT + 99 others); Tue, 30 Jun 2020 05:00:40 -0400 Received: from lelv0142.ext.ti.com ([198.47.23.249]:60462 "EHLO lelv0142.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731591AbgF3JAj (ORCPT ); Tue, 30 Jun 2020 05:00:39 -0400 Received: from lelv0265.itg.ti.com ([10.180.67.224]) by lelv0142.ext.ti.com (8.15.2/8.15.2) with ESMTP id 05U903vZ093413; Tue, 30 Jun 2020 04:00:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1593507603; bh=0HQcsWAVWf3W2shwVfdnWwI1iQ57DD5fcjRBXcqcjFA=; h=Subject:To:CC:References:From:Date:In-Reply-To; b=t/F4Y9mz2e0EHQnkCHsvLyZAPFsmdc2DskZt3ySis6nDHjwJQwyzUSaw9iHAFpe7G WLLBbQxj157MQVFkmtXYSZpR4gGMeBvZuQWwi9qh4y3ZL1tuTtjgGwj8qWqIF7EQjL Wm6IFKsWuEBWGI+x+rlrknX17PwHJTyaY3CW0Vxs= Received: from DLEE104.ent.ti.com (dlee104.ent.ti.com [157.170.170.34]) by lelv0265.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 05U902UX116084 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 30 Jun 2020 04:00:03 -0500 Received: from DLEE112.ent.ti.com (157.170.170.23) by DLEE104.ent.ti.com (157.170.170.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3; Tue, 30 Jun 2020 04:00:02 -0500 Received: from lelv0326.itg.ti.com (10.180.67.84) by DLEE112.ent.ti.com (157.170.170.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3 via Frontend Transport; Tue, 30 Jun 2020 04:00:02 -0500 Received: from [10.250.100.73] (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0326.itg.ti.com (8.15.2/8.15.2) with ESMTP id 05U8xw6f084990; Tue, 30 Jun 2020 03:59:58 -0500 Subject: Re: [PATCH v6 2/4] driver core: add deferring probe reason to devices_deferred property To: Andrzej Hajda , Greg Kroah-Hartman CC: Jernej Skrabec , Bartlomiej Zolnierkiewicz , Jonas Karlman , , "open list:DRM DRIVERS" , Russell King - ARM Linux , Neil Armstrong , , Mark Brown , Laurent Pinchart , "Rafael J. Wysocki" , , Marek Szyprowski References: <20200626100103.18879-1-a.hajda@samsung.com> <20200626100103.18879-3-a.hajda@samsung.com> <5f159e00-44fd-515b-dd8c-4db9845dc9e6@ti.com> <7e3c924b-c025-a829-6868-78e2935c70eb@samsung.com> From: Grygorii Strashko Message-ID: <66faa188-5ef6-d449-07fe-28c8be5e559c@ti.com> Date: Tue, 30 Jun 2020 11:59:54 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <7e3c924b-c025-a829-6868-78e2935c70eb@samsung.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi On 29/06/2020 14:28, Andrzej Hajda wrote: > Hi Grygorii, > > (...) > >>>   /* >>>    * deferred_devs_show() - Show the devices in the deferred probe >>> pending list. >>>    */ >>> @@ -221,7 +241,8 @@ static int deferred_devs_show(struct seq_file *s, >>> void *data) >>>       mutex_lock(&deferred_probe_mutex); >>>         list_for_each_entry(curr, &deferred_probe_pending_list, >>> deferred_probe) >>> -        seq_printf(s, "%s\n", dev_name(curr->device)); >>> +        seq_printf(s, "%s\t%s", dev_name(curr->device), >>> +               curr->device->p->deferred_probe_reason ?: "\n"); >>>         mutex_unlock(&deferred_probe_mutex); >>> >> >> Sry, may be i missing smth, but shouldn't it be optional >> (CONFIG_DEBUG_FS is probably too generic). >> > > I am not sure what exactly are you referring to, but this patch does not > add new property, it just extends functionality of existing one. Sry, needed to be more specific. You've added device_set_deferred_probe_reson(dev, &vaf); which expected to be used on every EPROBE_DEFER in dev_err_probe() in combination with + } else { + device_set_deferred_probe_reson(dev, &vaf); dev_dbg(dev, "error %d: %pV", err, &vaf); ^^ dev_dbg() does not add any runtime overhead during boot unless enabled + } But: +void device_set_deferred_probe_reson(const struct device *dev, struct va_format *vaf) +{ + const char *drv = dev_driver_string(dev); + + mutex_lock(&deferred_probe_mutex); + + kfree(dev->p->deferred_probe_reason); + dev->p->deferred_probe_reason = kasprintf(GFP_KERNEL, "%s: %pV", drv, vaf); + + mutex_unlock(&deferred_probe_mutex); +} ^^ Adds locking, kfree() and kasprintf() for every deferred probe during boot and can't be disabled. Right? -- Best regards, grygorii