<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/soc/samsung, branch linux-5.14.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.14.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.14.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-11-17T10:03:37Z</updated>
<entry>
<title>soc: samsung: exynos-pmu: Fix compilation when nothing selects CONFIG_MFD_CORE</title>
<updated>2021-11-17T10:03:37Z</updated>
<author>
<name>David Virag</name>
</author>
<published>2021-09-09T22:28:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=38ae173cb7cfeefab01ce4c3a4188347a4734b13'/>
<id>urn:sha1:38ae173cb7cfeefab01ce4c3a4188347a4734b13</id>
<content type='text'>
commit e37ef6dcdb1f4738b01cec7fb7be46af07816af9 upstream.

Commit 93618e344a5e ("soc: samsung: exynos-pmu: instantiate clkout
driver as MFD") adds a "devm_mfd_add_devices" call in the exynos-pmu
driver which depends on CONFIG_MFD_CORE. If no driver selects that
config, the build will fail if CONFIG_EXYNOS_PMU is enabled with the
following error:

  drivers/soc/samsung/exynos-pmu.c:137: undefined reference to `devm_mfd_add_devices'

Fix this by making CONFIG_EXYNOS_PMU select CONFIG_MFD_CORE.

Fixes: 93618e344a5e ("soc: samsung: exynos-pmu: instantiate clkout driver as MFD")
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: David Virag &lt;virag.david003@gmail.com&gt;
Link: https://lore.kernel.org/r/20210909222812.108614-1-virag.david003@gmail.com
Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@canonical.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>soc: samsung: pm_domains: Convert to regular platform driver</title>
<updated>2021-01-15T19:50:34Z</updated>
<author>
<name>Marek Szyprowski</name>
</author>
<published>2021-01-13T11:03:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c09a3e6c97f00a525e23854d63f003aba9adfa41'/>
<id>urn:sha1:c09a3e6c97f00a525e23854d63f003aba9adfa41</id>
<content type='text'>
When Exynos power domain driver was introduced, the only way to ensure
that power domains will be instantiated before the devices which belongs
to them was to initialize them early enough, before the devices are
instantiated in the system. This in turn required not to use any platform
device infrastructure at all, as there have been no way to ensure proper
probe order between devices.

This has been finally changed and upcomming patch "driver core: Set
fw_devlink=on by default" ensures that each device will be probbed only
when its resource providers are ready. This allows to convert Exynos
power domain driver to regular platform driver.

This is also required by the mentioned commit to enable probing any
device which belongs to the Exynos power domains, as otherwise the core
won't notice that the power domains are in fact available.

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Link: https://lore.kernel.org/r/20210113110320.13149-1-m.szyprowski@samsung.com
Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
</content>
</entry>
<entry>
<title>soc: samsung: exynos-chipid: correct helpers __init annotation</title>
<updated>2021-01-08T17:10:33Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
</author>
<published>2021-01-05T17:44:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6166174afc2bc74ca550af388508384b57d5163d'/>
<id>urn:sha1:6166174afc2bc74ca550af388508384b57d5163d</id>
<content type='text'>
After converting to builtin driver, the probe function should not call
__init functions anymore:

  &gt;&gt; WARNING: modpost: vmlinux.o(.text+0x8884d4):
  Section mismatch in reference from the function exynos_chipid_probe() to the function .init.text:product_id_to_soc_id()

Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Fixes: 352bfbb3e023 ("soc: samsung: exynos-chipid: convert to driver and merge exynos-asv")
Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Link: https://lore.kernel.org/r/20210105174440.120041-1-krzk@kernel.org
</content>
</entry>
<entry>
<title>soc: samsung: exynos-chipid: convert to driver and merge exynos-asv</title>
<updated>2021-01-03T16:08:45Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
</author>
<published>2020-12-07T18:54:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=352bfbb3e0230c96b2bce00d2ac3f0de303cc7b6'/>
<id>urn:sha1:352bfbb3e0230c96b2bce00d2ac3f0de303cc7b6</id>
<content type='text'>
The Exynos Chip ID driver on Exynos SoCs has so far only informational
purpose - to expose the SoC device in sysfs.  No other drivers depend on
it so there is really no benefit of initializing it early.

The code would be the most flexible if converted to a regular driver.
However there is already another driver - Exynos ASV (Adaptive Supply
Voltage) - which binds to the device node of Chip ID.

The solution is to convert the Exynos Chip ID to a built in driver and
merge the Exynos ASV into it.

This has several benefits:
1. Although the Exynos ASV driver binds to a device node present in all
   Exynos DTS (generic compatible), it fails to probe except on the
   supported ones (only Exynos5422).  This means that the regular boot
   process has a planned/normal device probe failure.

   Merging the ASV into Chip ID will remove this probe failure because
   the final driver will always bind, just with disabled ASV features.

2. Allows to use dev_info() as the SoC bus is present (since
   core_initcall).

3. Could speed things up because of execution of Chip ID code in a SMP
   environment (after bringing up secondary CPUs, unlike early_initcall),
   This reduces the amount of work to be done early, when the kernel has
   to bring up critical devices.

5. Makes the Chip ID code defer-probe friendly,

Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Link: https://lore.kernel.org/r/20201207190517.262051-5-krzk@kernel.org
Reviewed-by: Pankaj Dubey &lt;pankaj.dubey@samsung.com&gt;
</content>
</entry>
<entry>
<title>soc: samsung: exynos-asv: handle reading revision register error</title>
<updated>2021-01-03T16:02:56Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
</author>
<published>2020-12-07T19:05:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4561560dfb4f847a0b327d48bdd1f45bf1b6261f'/>
<id>urn:sha1:4561560dfb4f847a0b327d48bdd1f45bf1b6261f</id>
<content type='text'>
If regmap_read() fails, the product_id local variable will contain
random value from the stack.  Do not try to parse such value and fail
the ASV driver probe.

Fixes: 5ea428595cc5 ("soc: samsung: Add Exynos Adaptive Supply Voltage driver")
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Reviewed-by: Pankaj Dubey &lt;pankaj.dubey@samsung.com&gt;
Link: https://lore.kernel.org/r/20201207190517.262051-3-krzk@kernel.org
</content>
</entry>
<entry>
<title>soc: samsung: exynos-asv: don't defer early on not-supported SoCs</title>
<updated>2021-01-03T16:02:28Z</updated>
<author>
<name>Marek Szyprowski</name>
</author>
<published>2020-12-07T19:05:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0458b88267c637fb872b0359da9ff0b243081e9e'/>
<id>urn:sha1:0458b88267c637fb872b0359da9ff0b243081e9e</id>
<content type='text'>
Check if the SoC is really supported before gathering the needed
resources. This fixes endless deferred probe on some SoCs other than
Exynos5422 (like Exynos5410).

Fixes: 5ea428595cc5 ("soc: samsung: Add Exynos Adaptive Supply Voltage driver")
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Reviewed-by: Pankaj Dubey &lt;pankaj.dubey@samsung.com&gt;
Link: https://lore.kernel.org/r/20201207190517.262051-2-krzk@kernel.org
Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
</content>
</entry>
<entry>
<title>soc: samsung: exynos-chipid: initialize later - with arch_initcall</title>
<updated>2020-12-05T14:12:02Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
</author>
<published>2020-12-02T19:59:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3b4c362e5ef102ca2d70d33f4e8cf0780053a7db'/>
<id>urn:sha1:3b4c362e5ef102ca2d70d33f4e8cf0780053a7db</id>
<content type='text'>
The Exynos ChipID driver on Exynos SoCs has only informational
purpose - to expose the SoC device in sysfs.  No other drivers
depend on it so there is really no benefit of initializing it early.

Instead, initialize everything with arch_initcall which:
1. Allows to use dev_info() as the SoC bus is present (since
   core_initcall),
2. Could speed things up because of execution in a SMP environment
   (after bringing up secondary CPUs, unlike early_initcall),
3. Reduces the amount of work to be done early, when the kernel has to
   bring up critical devices.

Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Link: https://lore.kernel.org/r/20201202195955.128633-2-krzk@kernel.org
</content>
</entry>
<entry>
<title>soc: samsung: exynos-chipid: order list of SoCs by name</title>
<updated>2020-12-05T14:11:43Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
</author>
<published>2020-12-02T19:59:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7136d6a92aed6b4a1bfa5b2fe62b0ec27883b3f8'/>
<id>urn:sha1:7136d6a92aed6b4a1bfa5b2fe62b0ec27883b3f8</id>
<content type='text'>
Bring some order to the list of SoCs.  No functional change.

Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Link: https://lore.kernel.org/r/20201202195955.128633-1-krzk@kernel.org
</content>
</entry>
<entry>
<title>soc: samsung: s3c-pm-check: Fix incorrectly named variable 'val'</title>
<updated>2020-11-03T20:37:45Z</updated>
<author>
<name>Lee Jones</name>
</author>
<published>2020-11-03T15:28:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4d05446ab0a61ea3519e3c389fc7435ad0557cd4'/>
<id>urn:sha1:4d05446ab0a61ea3519e3c389fc7435ad0557cd4</id>
<content type='text'>
Fixes the following W=1 kernel build warning(s):

 drivers/soc/samsung/s3c-pm-check.c:162: warning: Function parameter or member 'val' not described in 's3c_pm_runcheck'
 drivers/soc/samsung/s3c-pm-check.c:162: warning: Excess function parameter 'vak' description in 's3c_pm_runcheck'

Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Cc: Ben Dooks &lt;ben@simtec.co.uk&gt;
Link: https://lore.kernel.org/r/20201103152838.1290217-15-lee.jones@linaro.org
Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
</content>
</entry>
<entry>
<title>soc: samsung: exynos5422-asv: remove unneeded semicolon</title>
<updated>2020-11-02T18:46:46Z</updated>
<author>
<name>Tom Rix</name>
</author>
<published>2020-11-01T15:28:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=74b01dc395364f647fe2729b6a775fd9df3f57a2'/>
<id>urn:sha1:74b01dc395364f647fe2729b6a775fd9df3f57a2</id>
<content type='text'>
A semicolon is not needed after a switch statement.

Signed-off-by: Tom Rix &lt;trix@redhat.com&gt;
Link: https://lore.kernel.org/r/20201101152844.2290728-1-trix@redhat.com
Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
</content>
</entry>
</feed>
