From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 610415FB9C for ; Tue, 23 Apr 2024 10:20:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713867617; cv=none; b=jhZI7jAndLnrwDIshZKW4pQLMO58WB2/PTK1TDHwvxKXc/rT8mqxYQXjczYj2Re6/WWMZaEbKH4rxudrmRsk4T2JWi3My5Pfp8LUVSh2kq96j5D1d1JIMhDePeNINjCJcXwiT5cBb8k8DKRs2tYZh36tznkeOdLNhtUNo7vBk04= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713867617; c=relaxed/simple; bh=nI3f8DIf4YX40igrTmVgIeF+cXtqWElG6VR/78vLGjo=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=h+9q+mMtqyiQTGmkMKnnwDtd9WK65wNO0Qj/i0HX8EwUm4bgr09Ee68OuVss/MqbI5b+mBz12FOC+HdeUzalYsXtOYfo1C3Aucj9Hxf3AQuLSimyRV0XQ9zOpIRy+GfzZwIrQWR9AdDyv7dF4t/rEnZ+GOfEecHvNc2Ta1Yitdo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZisT3Nt9; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZisT3Nt9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8204AC2BD11; Tue, 23 Apr 2024 10:20:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713867616; bh=nI3f8DIf4YX40igrTmVgIeF+cXtqWElG6VR/78vLGjo=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=ZisT3Nt97lktdQ5BJNvHaLP3oWH79TrJj/kaCKlLAKa+AszVUC2K2mueaZ5HYH5m+ 7LgL/lU60wgW/Ah2z6vxQ3TxFpJIDcj5Sp/beXlYCmYrHcxjgRNUyZ8hhFFc8rNonE tBHdOBa2ZVkNDhfJNe5ruvHqADe4C2eX8Jv3cPbc0y4kURRpWA6O2N5+86TAjpYKP8 vIAPWvMl+hoij1/3ZcZf/TG7+FWA2lUUmNDg2UJFW02+FbKXiZtxfF/pdbP890EYKF 5nF7imHF4mtegh7EB3f1gIUOdFReCYI1tpzYgy9rlEcACo8NBkyyzPVK04jYrYhblh RKEjhzJlgp87Q== Message-ID: Date: Tue, 23 Apr 2024 12:20:10 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 9/9] drm/bridge: tfp410: Add platform module alias To: Sui Jingfeng , Neil Armstrong Cc: Robert Foss , Laurent Pinchart , Andrzej Hajda , Jonas Karlman , Jernej Skrabec , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Phong LE , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org References: <20240422191903.255642-1-sui.jingfeng@linux.dev> <20240422191903.255642-10-sui.jingfeng@linux.dev> <050ff49d-516c-41fc-a205-4c259384058f@kernel.org> <08e81099-77d6-4d6d-9e7b-b086c17818c9@linux.dev> From: Krzysztof Kozlowski Content-Language: en-US Autocrypt: addr=krzk@kernel.org; keydata= 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 fv0= In-Reply-To: <08e81099-77d6-4d6d-9e7b-b086c17818c9@linux.dev> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 23/04/2024 12:12, Sui Jingfeng wrote: > Hi, > > On 2024/4/23 16:05, Krzysztof Kozlowski wrote: >> On 22/04/2024 21:19, Sui Jingfeng wrote: >>> Otherwise when compiled as module, this driver will not be probed on >>> non-DT environment. This is a fundamential step to make this driver >>> truely OF-independent. >> NAK. > > > :( ... > > >> >> You should not need MODULE_ALIAS() in normal cases. If you need it, >> usually it means your device ID table is wrong (e.g. misses either >> entries or MODULE_DEVICE_TABLE()). MODULE_ALIAS() is not a substitute >> for incomplete ID table. > > > I think I could give you a reason. > > 1) When compile this driver into linux kernel > > This driver will be probed if we create a platform device manually with the name "tfp410". Then do not create devices manually. This is not y2000 to use board files. > This is also true for the display-connector driver(drivers/gpu/drm/bridge/display-connector.c), > see patch 0005 of this series and the simple-bridge driver(drivers/gpu/drm/bridge/simple-bridge.c) > see patch 0003 of this series. They have the same problem. > > 2) But when compile this driver as module, creating a platform device manually with the same name > *won't* make those platform driver probed. I think, this is *inconsistent behavior*. Therefore, I > add MODULE_ALIAS() to keep the behavior consistent. That is, a driver, should be able to be probed > regardless it is compile as a kernel module or it is built into the kernel. > That's obvious. Please focus on the actual issue here. > >> Just check your aliases and look what is there. You already have >> i2c:tfp410 alias. > > Right, but the i2c:tfp410 alias only guarantee the driver can be probed successfully > when tfp410 working as I2C slave. tfp410 can also works as a transparent bridge. So which bus or driver instantiates the device? What use case is this? > > >> If you need platform one, for some reason, explain >> what is your matching path and add appropriate ID table. With that >> explanation, of course. > > When tfp410 works as a transparent bridge. The device itself is just a platform device. > similar with the display-connector.c and simple-bridge.c. > > It is not discoverable by the system on non-DT environment, this is the root problem. > I said the various display bridges drivers are fully DT dependent, Dimtry didn't agree! > > He said "I can not agree here. It doesn't depend on DT." and then asks me to developing > some other solution witch could preserve code sharing. So here it is. You wrote long message without actually reading my answer early. I already gave you the solution. Address that one. Best regards, Krzysztof