GitHub/LineageOS/android_kernel_motorola_exynos9610.git
6 years agoASoC: cs47l92: Fix up a dapm clocking route
Stuart Henderson [Wed, 24 Jan 2018 10:52:25 +0000 (10:52 +0000)]
ASoC: cs47l92: Fix up a dapm clocking route

Change-Id: Iefffbc6d7013587a49d4edee04a919ae44304312
Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
6 years agomadera: anc: correct setting of FCL_ADC_REFORMATTER_CONTROL
baratam [Thu, 18 Jan 2018 13:01:57 +0000 (18:31 +0530)]
madera: anc: correct setting of FCL_ADC_REFORMATTER_CONTROL

Change-Id: I4dfdc63ec9e6926804a0e5ed5ac76db410002712
Signed-off-by: baratam <sapthagiri.baratam@cirrus.com>
6 years agoextcon: madera: Mark output shorted when less than short impedance
Richard Fitzgerald [Fri, 4 Aug 2017 10:26:39 +0000 (11:26 +0100)]
extcon: madera: Mark output shorted when less than short impedance

We should be updating out_shorted[] based on the measured impedance so
that the codec driver knows whether it is safe to enable the output.

Change-Id: Idfa200589d638f9ae3b501debfa1546d4ed1615e
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoextcon: madera: Correct handling of minimum short circuit impedance
Richard Fitzgerald [Fri, 4 Aug 2017 12:31:17 +0000 (13:31 +0100)]
extcon: madera: Correct handling of minimum short circuit impedance

If there is an external resistance <= 4 ohms and the configured short
impedance had to be adjusted up to be in measurable range it was being
set too high because the adjusted threshold didn't take account that
it should be reduced by the external resistance.

Change-Id: I9b76d643b6533c3fa4f220f56c949303eaeff833
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoextcon: madera: Add a separate variable for short circuit impedance
Richard Fitzgerald [Fri, 4 Aug 2017 10:12:53 +0000 (11:12 +0100)]
extcon: madera: Add a separate variable for short circuit impedance

Add a separate variable to store the short circuit impedance leaving the
hpdet_short_circuit_imp to reflect the value set through device
tree.

Change-Id: I7c919cabc4c9edbb943719bfc944cb30b6af4907
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoextcon: madera: Read micd ranges from devicetree
Richard Fitzgerald [Tue, 1 Aug 2017 12:01:14 +0000 (13:01 +0100)]
extcon: madera: Read micd ranges from devicetree

This adds a devicetree node cirrus,micd-ranges to populate the
list of button levels and corresponding key events.

Change-Id: I2c4c4c6e938a137694a4e752367e25e5e637d2c4
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoASoC: cs47l90: Wait for asyncclk to stabilise after enable
Stuart Henderson [Thu, 21 Sep 2017 10:51:03 +0000 (11:51 +0100)]
ASoC: cs47l90: Wait for asyncclk to stabilise after enable

Give asyncclk at least 1.5ms to settle after being enabled before
starting to use it.

Change-Id: Ic46ccfe875882cc982b9472ec7efc6823c888391
Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
6 years agoextcon: madera: Ensure micd read failures are caught
Stuart Henderson [Wed, 1 Nov 2017 15:07:46 +0000 (15:07 +0000)]
extcon: madera: Ensure micd read failures are caught

The use of madera_ohm_to_hohm was causing an error code to be lost when
passed to the .reading function.

Change-Id: Ie1741b47fb7491ba33d1dd5f9580dc975c130d9b
Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
6 years agoASoC: madera: Fix up input ganging and which inmode field controls dmode
Stuart Henderson [Mon, 18 Sep 2017 17:11:23 +0000 (18:11 +0100)]
ASoC: madera: Fix up input ganging and which inmode field controls dmode

De-gang certain inputs, where the dmic pins weren't split between left and
right channels.  Also tie the dmic mode to the appropriate input pin,
instead of always defaulting to INxAL.

Change-Id: I8e2231b5b7b3b89fbc12fa11b517926ca6f550b0
Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
6 years agoASoC: cs47l90: Add AEC2 Loopback support
apandey [Mon, 18 Sep 2017 12:52:06 +0000 (18:22 +0530)]
ASoC: cs47l90: Add AEC2 Loopback support

Add AEC2 Loopback support to have more than one AEC reference.

Change-Id: I5582aa189d6fe80e3f8e84f9ec2a759dba4beb08
Signed-off-by: apandey <ajit.pandey@cirrus.com>
6 years agomfd: cs47l90: Make DAC_AEC_CONTROL_2 readable
apandey [Mon, 18 Sep 2017 12:41:21 +0000 (18:11 +0530)]
mfd: cs47l90: Make DAC_AEC_CONTROL_2 readable

Change-Id: Ia8bf1f6c10019fa2859aa90b7587f3b7b52e1164
Signed-off-by: apandey <ajit.pandey@cirrus.com>
6 years agoextcon: madera: Avoid uninitialized pointer dereference
Stuart Henderson [Fri, 1 Sep 2017 11:56:39 +0000 (12:56 +0100)]
extcon: madera: Avoid uninitialized pointer dereference

Change-Id: I923132946888d538af4ca0594ab9d1b01368165d
Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
6 years agoASoC: madera: Fix uninitialised variable usage
Stuart Henderson [Fri, 1 Sep 2017 09:31:07 +0000 (10:31 +0100)]
ASoC: madera: Fix uninitialised variable usage

Change-Id: Ic75294a65b998d712b3a9e7221518756833fb78d
Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
6 years agoASoC: cs47l35: Update FLL gain configuration
Richard Fitzgerald [Tue, 11 Jul 2017 14:12:17 +0000 (15:12 +0100)]
ASoC: cs47l35: Update FLL gain configuration

CS47L35 revisions A1 and above should use the alt_gain in the
same situations as CS47L90.

Change-Id: I35d6f06052db5d0d300b9d009fd0b4cd2e2f5e86
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agomfd: cs47l35: FLL1_EFS must be readable
Richard Fitzgerald [Tue, 11 Jul 2017 13:18:43 +0000 (14:18 +0100)]
mfd: cs47l35: FLL1_EFS must be readable

The FLL1_EFS2 register contains the PHASE_ENA bit which the FLL
configuration code updates, so this register must be accessible.

Change-Id: Ie05b566da9dd88807db740d86dcc3f90435fa188
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoextcon: madera: Take external resistance into account for short circuit
Richard Fitzgerald [Mon, 31 Jul 2017 10:42:13 +0000 (11:42 +0100)]
extcon: madera: Take external resistance into account for short circuit

When checking the minimum value of impedance we can detect we should
take any external resistance into account, as we can detect lower
impedances if there is some external resistance pushing the detected
impedance up.

Change-Id: Ic784807c811ab453a7ca8ef2fb115d1bcd884e87
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoextcon: madera: enable jackdets before registering IRQs
Richard Fitzgerald [Fri, 4 Aug 2017 12:57:33 +0000 (13:57 +0100)]
extcon: madera: enable jackdets before registering IRQs

Change-Id: I11a3eeb8e2a5f21471c09b9d25ff63cb9a9d0948
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoASoC: cs47l90: Fix error in clock hookups for ASRC1/2IN2R
Swetha Nagapuri [Tue, 27 Jun 2017 10:10:44 +0000 (15:40 +0530)]
ASoC: cs47l90: Fix error in clock hookups for ASRC1/2IN2R

There is a duplication connection for ASRC1IN2L to ASRC1R2CLK
and ASRC2IN2L to ASRC2R2CLK but one should be ASRC1IN2R to ASRC1R2CLK
and other should be ASRC2IN2R to ASRC2R2CLK. This patch fixes that.

Change-Id: I312c3bb5974da30efc2941f13f9731b00a0afdd7
Signed-off-by: Swetha Nagapuri <swetha.nagapuri@soctronics.com>
6 years agoASoC: cs47l35: Add AEC2 Loopback support
Paul Handrigan [Mon, 7 Aug 2017 21:42:59 +0000 (16:42 -0500)]
ASoC: cs47l35: Add AEC2 Loopback support

Add AEC2 Loopback support to have more than one AEC reference.

Change-Id: I601c34d53591669cb54aed5e32547722ddc79245
Signed-off-by: Paul Handrigan <Paul.Handrigan@cirrus.com>
6 years agomfd: cs47l35: Make DAC_AEC_CONTROL_2 readable
Richard Fitzgerald [Tue, 8 Aug 2017 10:02:19 +0000 (11:02 +0100)]
mfd: cs47l35: Make DAC_AEC_CONTROL_2 readable

Change-Id: If7bd04d2d4a60a401b0eb28c50babfa85964e386
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoextcon: madera: Use octal permissions for device attributes
Stuart Henderson [Tue, 8 Aug 2017 08:05:09 +0000 (09:05 +0100)]
extcon: madera: Use octal permissions for device attributes

Change-Id: I49203c9f83f83be24584e55a9ac4a4ccb2132eef
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agoASoC: madera: Inmux changes must always handle DMIC mode
Richard Fitzgerald [Fri, 30 Jun 2017 08:29:35 +0000 (09:29 +0100)]
ASoC: madera: Inmux changes must always handle DMIC mode

For the unganged inputs on CS47L85 and CS47L90 the code was
skipping the update to DMIC mode, so changing these from
a digital 'A' to 'B' would not clear DMIC mode.

This patch moves the code to handle DMIC mode so that it is
always run when 'A' is configured as digital.

Change-Id: I07fbb03b395f6264cd2b8ae0197560f3f60b588a
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoASoC: cs47l90: Fix error in clock hookups for ISRC3/4
Richard Fitzgerald [Mon, 5 Jun 2017 14:55:48 +0000 (15:55 +0100)]
ASoC: cs47l90: Fix error in clock hookups for ISRC3/4

The widgets were linked to the ISRC1 clock domain instead
of the correct ISRC3/4 domains.

Change-Id: I9b446afbc07719021e325db055aa516c2a34155f
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoextcon: madera: Make micd ranges default to Android spec values
Stuart Henderson [Tue, 23 May 2017 12:33:02 +0000 (13:33 +0100)]
extcon: madera: Make micd ranges default to Android spec values

Change-Id: I3d3fb6accc9e313b455670942740317a59b77c1e
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agomfd: madera: Fix some micbias configuration issues
Stuart Henderson [Fri, 2 Jun 2017 10:21:35 +0000 (11:21 +0100)]
mfd: madera: Fix some micbias configuration issues

Change-Id: I21b851126684ef4446a763df6f180dd46dab0969
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agoextcon: madera: Default to normal tuning on jack removal
Stuart Henderson [Fri, 19 May 2017 13:41:37 +0000 (14:41 +0100)]
extcon: madera: Default to normal tuning on jack removal

Change-Id: I8437c23eb177063e65327ccb73f91544c2025f31
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agoextcon: madera: Make micd default ranges more sensible
Stuart Henderson [Fri, 19 May 2017 12:47:04 +0000 (13:47 +0100)]
extcon: madera: Make micd default ranges more sensible

Change-Id: Ie2e75c13b833d9d5797ba603528510e8616e39ab
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agoextcon: madera: Protect outputs associated with accdet nodes
Stuart Henderson [Mon, 1 May 2017 15:22:05 +0000 (16:22 +0100)]
extcon: madera: Protect outputs associated with accdet nodes

Ensure outputs associated with an accdet node are disabled during clamping.

Change-Id: Ie6ee7fcf3e813b3c9a730426ca9c7a2b9b9d65e1
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agoextcon: madera: Report accessory detect events through input key events
Stuart Henderson [Thu, 27 Apr 2017 09:49:34 +0000 (10:49 +0100)]
extcon: madera: Report accessory detect events through input key events

Change-Id: I1120594bc9f36efba6111c033eb9c1201ed8ea5b
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agoASoC: madera: Add Rate ALSA controls
Stuart Henderson [Wed, 26 Apr 2017 16:45:45 +0000 (17:45 +0100)]
ASoC: madera: Add Rate ALSA controls

Change-Id: I9536b12cc4f12505aeab8819917f17efd579cb66
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agoASoC: madera: Fix getting dapm pointer in madera_rate_put
Stuart Henderson [Thu, 18 May 2017 12:43:49 +0000 (13:43 +0100)]
ASoC: madera: Fix getting dapm pointer in madera_rate_put

Change-Id: Id24c139fa5078fee002bf28d6c6b76b0d0600156
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agoextcon: madera: Fix up reporting of EXTCON_MECHANICAL state
Stuart Henderson [Tue, 16 May 2017 12:23:22 +0000 (13:23 +0100)]
extcon: madera: Fix up reporting of EXTCON_MECHANICAL state

Change-Id: I81c6a005bca49b776f71f1156e8f7ac7f24a7806
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agoASoC: madera: Add support for CS47L92/3 dmic sup configuration
Stuart Henderson [Tue, 16 May 2017 10:09:09 +0000 (11:09 +0100)]
ASoC: madera: Add support for CS47L92/3 dmic sup configuration

CS47L92/93 has more dmic reference selects than analog inputs, so increase
the configuration loop to be the dmic sup count.

Change-Id: Ia278eecc8ae52a372ca2757a58c7f5cf563c9a79
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agoextcon: madera: Skip HPDET ranges less than external resistance
Richard Fitzgerald [Thu, 11 May 2017 09:20:50 +0000 (10:20 +0100)]
extcon: madera: Skip HPDET ranges less than external resistance

There is no point in running HPDET ranges that measure impedances
lower than the external series resistance.

Change-Id: I4e084d306d069a0ef049a22011653694744ca6b0
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agomfd: madera: Add support for CS47L92/CS47L93
Stuart Henderson [Tue, 25 Apr 2017 15:47:13 +0000 (16:47 +0100)]
mfd: madera: Add support for CS47L92/CS47L93

Change-Id: I412aa97649bb8df5174270a514e3142837782b14
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agoASoC: madera: Add support for CS47L92/CS47L93
Stuart Henderson [Tue, 25 Apr 2017 15:45:19 +0000 (16:45 +0100)]
ASoC: madera: Add support for CS47L92/CS47L93

Change-Id: I712493780eebc930b1d94b3a33b04157849fe412
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agoextcon: madera: Add support for CS47L92/CS47L93
Stuart Henderson [Tue, 25 Apr 2017 15:42:06 +0000 (16:42 +0100)]
extcon: madera: Add support for CS47L92/CS47L93

Change-Id: I9c94c65145134406e26caf40e744f30c420c40e1
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agoASoC: madera: Add support for new FLL used on CS47L92/CS47L93
Stuart Henderson [Tue, 25 Apr 2017 15:36:35 +0000 (16:36 +0100)]
ASoC: madera: Add support for new FLL used on CS47L92/CS47L93

Change-Id: I6885ad9958fc9d2e42cc19a4c0444d2a831f6a85
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agogpio: madera: Add support for CS47L92/CS47L93 codecs
Stuart Henderson [Mon, 24 Apr 2017 12:58:49 +0000 (13:58 +0100)]
gpio: madera: Add support for CS47L92/CS47L93 codecs

Change-Id: I6e19fd25d1f2a92104e010deea97c443c9b92c9a
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agopinctrl: madera: Add support for CS47L92/CS47L93
Stuart Henderson [Fri, 21 Apr 2017 16:27:04 +0000 (17:27 +0100)]
pinctrl: madera: Add support for CS47L92/CS47L93

Change-Id: If672f6bf4924fb3e9d15e91442dfc3348542533c
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agomfd: madera: Register map tables for Cirrus Logic CS47L92/93
Stuart Henderson [Fri, 21 Apr 2017 15:36:48 +0000 (16:36 +0100)]
mfd: madera: Register map tables for Cirrus Logic CS47L92/93

Regmap configuration tables for Cirrus Logic CS47L92 and CS47L93 codecs

Change-Id: Ie98cc4baf38325867761cdb7e078c8769bbc4249
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agoASoC: cs47l90: Add codec driver for Cirrus Logic CS47L90
Richard Fitzgerald [Wed, 5 Apr 2017 10:08:04 +0000 (11:08 +0100)]
ASoC: cs47l90: Add codec driver for Cirrus Logic CS47L90

Adds the codec driver for the CS47L90 SmartCodec. This is a
multi-functional codec based on the Cirrus Logic Madera platform.

Change-Id: Ie648293f6b601e45845c5ebb16265cad7875e0d2
Signed-off-by: Nikesh Oswal <nikesh@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoASoC: cs47l85: Add codec driver for Cirrus Logic CS47L85
Richard Fitzgerald [Wed, 5 Apr 2017 10:08:03 +0000 (11:08 +0100)]
ASoC: cs47l85: Add codec driver for Cirrus Logic CS47L85

Adds the codec driver for the CS47L85 SmartCodec. This is a
multi-functional codec based on the Cirrus Logic Madera platform.

Change-Id: Ic87a1231d9e8342d55d813eaf4480917f0b5129c
Signed-off-by: Nariman Poushin <npoushin@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoASoC: cs47l35: Add codec driver for Cirrus Logic CS47L35
Richard Fitzgerald [Wed, 5 Apr 2017 10:08:02 +0000 (11:08 +0100)]
ASoC: cs47l35: Add codec driver for Cirrus Logic CS47L35

Adds the codec driver for the CS47L35 SmartCodec. This is a
multi-functional codec based on the Cirrus Logic Madera platform.

Change-Id: I8d91d7a5b1b044ee63873e86e17309be1ef54ed9
Signed-off-by: Piotr Stankiewicz <piotrs@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
6 years agoASoC: madera: Add common support for Cirrus Logic Madera codecs
Richard Fitzgerald [Wed, 5 Apr 2017 10:08:01 +0000 (11:08 +0100)]
ASoC: madera: Add common support for Cirrus Logic Madera codecs

The Cirrus Logic Madera codecs are a family of related codecs with
extensive digital and analogue I/O, digital mixing and routing,
signal processing and programmable DSPs.

This patch adds common support code shared by all Madera codecs.

Change-Id: I9209c83c899ccf36d2af1a517c105918026ca254
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Nariman Poushin <nariman@opensource.wolfsonmicro.com>
Signed-off-by: Nikesh Oswal <Nikesh.Oswal@wolfsonmicro.com>
Signed-off-by: Piotr Stankiewicz <piotrs@opensource.wolfsonmicro.com>
Signed-off-by: Ajit Pandey <ajit.pandey@incubesol.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoextcon: madera: Add support for Cirrus Logic Madera codecs
Richard Fitzgerald [Thu, 20 Oct 2016 15:45:59 +0000 (16:45 +0100)]
extcon: madera: Add support for Cirrus Logic Madera codecs

The Cirrus Logic Madera-class codecs include highly flexible support
for jack detection, accessory detection and accessory buttons.

Although the driver is very configurable, it is impossible to cover
in generic code every possible way in which the accessory detect block
could be used and every possible combination of external hardware. We
therefore provide enough configurability to cover all common cases but
we allow customers to provide custom replacements for some or all of
the detection state machine to provided added ability to handle unusual
hardware or applications without having to create a branched and modified
version of this driver.

Change-Id: Ibbef6dc9a5a139075daed8c1556698bfd8e6bb16
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
6 years agogpio: madera: Support Cirrus Logic Madera class codecs
Richard Fitzgerald [Thu, 15 Sep 2016 15:48:21 +0000 (16:48 +0100)]
gpio: madera: Support Cirrus Logic Madera class codecs

This adds support for the GPIOs on Cirrus Logic Madera class codecs.
Any pins not used for special functions (see the pinctrl driver) can be
used as general single-bit input or output lines. The number of available
GPIOs varies between codecs.

Change-Id: Id3473e03a0d0b3eea908d35f0ca2761bead3fb73
Signed-off-by: Nariman Poushin <nariman@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
6 years agogpio: madera: Add DT bindings for GPIO on Cirrus Logic Madera codecs
Richard Fitzgerald [Mon, 24 Apr 2017 10:23:00 +0000 (11:23 +0100)]
gpio: madera: Add DT bindings for GPIO on Cirrus Logic Madera codecs

The Cirrus Logic Madera codecs have a range of GPIO pins that can be
used as single-bit logic input or output. These are presented as a
standard GPIO binding.

The second cell in a GPIO binding is currently reserved for future use
as chip-specific flags.

Change-Id: Ida62b0f711418ecb803284fae9129ea7f428f5de
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agopinctrl: madera: Add driver for Cirrus Logic Madera codecs
Richard Fitzgerald [Wed, 5 Apr 2017 10:07:57 +0000 (11:07 +0100)]
pinctrl: madera: Add driver for Cirrus Logic Madera codecs

These codecs have a variable number of I/O lines each of which
is individually selectable to a wide range of possible functions.

The functionality is slightly different from the traditional muxed
GPIO since most of the functions can be mapped to any pin (and even
the same function to multiple pins). Most pins have a dedicated
"alternate" function that is only available on that pin. The
alternate functions are usually a group of signals, though it is
not always necessary to enable the full group, depending on the
alternate function and how it is to be used. The mapping between
alternate functions and GPIO pins varies between codecs depending
on the number of alternate functions and available pins.

Change-Id: I1feb411976d74806566f8bb67713144ce5c1ef89
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agopinctrl: madera: Add DT bindings for Cirrus Logic Madera codecs
Richard Fitzgerald [Mon, 24 Apr 2017 09:21:20 +0000 (10:21 +0100)]
pinctrl: madera: Add DT bindings for Cirrus Logic Madera codecs

This is the binding description of the pinctrl driver for Cirru Logic
Madera codecs. The binding uses the generic pinctrl binding so  the main
purpose here is to describe the device-specific names for groups and
functions.

Change-Id: I1cabd1d24b8a5619c49309510fd8bbdaba9630e6
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoirqchip: Add driver for Cirrus Logic Madera codecs
Richard Fitzgerald [Wed, 5 Apr 2017 10:07:56 +0000 (11:07 +0100)]
irqchip: Add driver for Cirrus Logic Madera codecs

The Cirrus Logic Madera codecs (Cirrus Logic CS47L35/85/90/91 and WM1840)
are highly complex devices containing up to 7 programmable DSPs and many
other internal sources of interrupts plus a number of GPIOs that can be
used as interrupt inputs. The large number (>150) of internal interrupt
sources are managed by an on-board interrupt controller.

This driver provides the handling for the interrupt controller. As the
codec is accessed via regmap, we can make use of the generic IRQ
functionality from regmap to do most of the work. Only around half of
the possible interrupt source are currently of interest from the driver
so only this subset is defined. Others can be added in future if needed.

The KConfig options are not user-configurable because this driver is
mandatory so is automatically included when the parent MFD driver is
selected.

Change-Id: Ia6e8581e963368f63fb8b6528236248eeccb47da
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
6 years agoregulator: arizona-ldo1: Add support for Cirrus Logic Madera codecs
Richard Fitzgerald [Fri, 14 Apr 2017 15:26:26 +0000 (16:26 +0100)]
regulator: arizona-ldo1: Add support for Cirrus Logic Madera codecs

This adds a new driver identity "madera-ldo1" and probe function
so that this driver can be used to control the LDO1 regulator on
some Cirrus Logic Madera codecs.

Change-Id: If6f1f27c7f92d53281ed91d60455ad213416c2aa
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoregulator: arizona-micsupp: Add support for Cirrus Logic Madera codecs
Richard Fitzgerald [Mon, 17 Apr 2017 11:47:03 +0000 (12:47 +0100)]
regulator: arizona-micsupp: Add support for Cirrus Logic Madera codecs

This adds a new driver identity "madera-micsupp" and probe function
so that this driver can be used to control the micsupp regulator on
Cirrus Logic Madera codecs.

Change-Id: I715cc4b6c19c8f2ec5737725d90ccc83563f198a
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agomfd: madera: Register map tables for Cirrus Logic CS47L90/91
Richard Fitzgerald [Wed, 5 Apr 2017 10:07:53 +0000 (11:07 +0100)]
mfd: madera: Register map tables for Cirrus Logic CS47L90/91

Regmap configuration tables for Cirrus Logic CS47L90 and CS47L91 codecs.

Change-Id: Ie593afaaf661f32f5febc372cec3c81344012128
Signed-off-by: Nikesh Oswal <nikesh@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
6 years agomfd: madera: Register map tables for Cirrus Logic CS47L85
Richard Fitzgerald [Wed, 5 Apr 2017 10:07:52 +0000 (11:07 +0100)]
mfd: madera: Register map tables for Cirrus Logic CS47L85

Regmap configuration tables for Cirrus Logic CS47L85 codecs.

Change-Id: Ice389456818b9861768fc985062811b25a19d8d5
Signed-off-by: Nariman Poushin <nariman@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
6 years agomfd: madera: Register map tables for Cirrus Logic CS47L35
Richard Fitzgerald [Wed, 5 Apr 2017 10:07:51 +0000 (11:07 +0100)]
mfd: madera: Register map tables for Cirrus Logic CS47L35

Regmap configuration tables for Cirrus Logic CS47L35 codecs.

Change-Id: I875206b250706c0f92f2933df64a788f83174947
Signed-off-by: Piotr Stankiewicz <piotrs@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
6 years agomfd: madera: Add common support for Cirrus Logic Madera codecs
Richard Fitzgerald [Wed, 5 Apr 2017 10:07:50 +0000 (11:07 +0100)]
mfd: madera: Add common support for Cirrus Logic Madera codecs

This adds the generic core support for Cirrus Logic "Madera" class codecs.
These are complex audio codec SoCs with a variety of digital and analogue
I/O, onboard audio processing and DSPs, and other features.

These codecs are all based off a common set of hardware IP so can be
supported by a core of common code (with a few minor device-to-device
variations).

Change-Id: Ide95195e8d42318c20faa451151257d9ecf93800
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Nikesh Oswal <Nikesh.Oswal@wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agomfd: madera: Add DT bindings for Cirrus Logic Madera codecs
Richard Fitzgerald [Fri, 21 Apr 2017 14:08:18 +0000 (15:08 +0100)]
mfd: madera: Add DT bindings for Cirrus Logic Madera codecs

Specification of the bindings for the parent MFD driver component
of the Cirrus Logic Madera codec drivers.

Change-Id: I307b78196ebbe1a132260963907fe8ca6f61b2be
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agomfd: madera: Add register definitions for Cirrus Logic Madera codecs
Richard Fitzgerald [Wed, 5 Apr 2017 10:07:49 +0000 (11:07 +0100)]
mfd: madera: Add register definitions for Cirrus Logic Madera codecs

This patch adds a header file of register definitions for Cirrus
Logic "Madera" class codecs. These codecs are all based off a common
set of hardware IP so have a common register map (with a few minor
device-to-device variations). These are complex devices with a large
number of features and so have a correspondingly large register set.
The registers.h file has been auto-generated from the hardware register
definitions, stripped down to only registers we need to access from
the driver.

Change-Id: Ib6663cc2182b1bb5de6cbe55637c8920161b1ce9
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
6 years agoASoC: wm_adsp: Fix validation of firmware and coeff lengths
Ben Hutchings [Fri, 8 Dec 2017 16:15:20 +0000 (16:15 +0000)]
ASoC: wm_adsp: Fix validation of firmware and coeff lengths

The checks for whether another region/block header could be present
are subtracting the size from the current offset.  Obviously we should
instead subtract the offset from the size.

The checks for whether the region/block data fit in the file are
adding the data size to the current offset and header size, without
checking for integer overflow.  Rearrange these so that overflow is
impossible.

Change-Id: Ia99c8e8cab92f041c6fe46f292a42698c1581979
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Tested-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
6 years ago[9610][ERD] arm64: config: run savedefconfig
Youngmin Nam [Tue, 19 Jun 2018 01:00:29 +0000 (10:00 +0900)]
[9610][ERD] arm64: config: run savedefconfig

Change-Id: I1083e5600705f475d32c75b7c29fdcbccf9de359
Signed-off-by: Youngmin Nam <youngmin.nam@samsung.com>
6 years ago[9610] wlbt: Fix warning/bug in wifi logger (4.14)
Tarun Karela [Thu, 14 Jun 2018 23:11:41 +0000 (00:11 +0100)]
[9610] wlbt: Fix warning/bug in wifi logger (4.14)

drivers/misc/samsung/scsc/scsc_wifilogger_ring_pktfate.c:262:13: warning: implicit conversion from enumeration type
      'wifi_rx_packet_fate' to different enumeration type 'wifi_tx_packet_fate' [-Wenum-conversion]

Change-Id: Iffad8c3c3174d68bf191233777c3f7c7b56c8eca
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years agoMakefile: Make compile option strictly
Youngmin Nam [Fri, 1 Jun 2018 05:16:58 +0000 (14:16 +0900)]
Makefile: Make compile option strictly

This patch adds -Werror option.

Change-Id: I509bde0c3c6d4be4bef9b290e5fe4e29af493dee
Signed-off-by: Youngmin Nam <youngmin.nam@samsung.com>
6 years ago[9610] wlbt: fix compiler warnings in wifilogger
Ivan Priest [Fri, 15 Jun 2018 17:25:07 +0000 (18:25 +0100)]
[9610] wlbt: fix compiler warnings in wifilogger

Clang exposed warnings

Change-Id: I3d68b5bf8f6359f2854da952a25e2fde51346187
SCSC-Bug-Id: SSB-40929
Signed-off-by: Ivan Priest <i.priest@samsung.com>
6 years ago[9610] wlbt: fix warning in nl80211 channel enum
Ivan Priest [Fri, 15 Jun 2018 17:02:02 +0000 (18:02 +0100)]
[9610] wlbt: fix warning in nl80211 channel enum

Clang exposed incorrect enum being used (values
are the same).

Change-Id: I0a90bda5835843319f718d61378ca30d4e912371
SCSC-Bug-Id: SSB-40929
Signed-off-by: Ivan Priest <i.priest@samsung.com>
6 years ago[9610] wlbt: fix compiler warnings in scsc_mx
Ivan Priest [Fri, 15 Jun 2018 16:44:50 +0000 (17:44 +0100)]
[9610] wlbt: fix compiler warnings in scsc_mx

Several enum warnings exposed by clang.

Change-Id: I3e1b87b5d3e726a440f704b44a1b9daadd7f7451
SCSC-Bug-Id: SSB-40929
Signed-off-by: Ivan Priest <i.priest@samsung.com>
6 years ago[9610] wlbt: update kernel_read() usage on 4.14
Ivan Priest [Fri, 15 Jun 2018 15:27:16 +0000 (16:27 +0100)]
[9610] wlbt: update kernel_read() usage on 4.14

API has changed, update our calls.

Change-Id: Id3a9d75c15f81fee0d464feaae516140fd4d1760
SCSC-Bug-Id: SSB-40929
Signed-off-by: Ivan Priest <i.priest@samsung.com>
6 years ago[9810][ERD] arm64: config: run savedefconfig
Youngmin Nam [Thu, 7 Jun 2018 00:45:44 +0000 (09:45 +0900)]
[9810][ERD] arm64: config: run savedefconfig

Change-Id: Ia3a1fb1927a9688e949160301081a09a314ea642
Signed-off-by: Youngmin Nam <youngmin.nam@samsung.com>
6 years ago[9610] media: radio: Remove compile warning
Yunsu Kim [Thu, 14 Jun 2018 10:42:14 +0000 (19:42 +0900)]
[9610] media: radio: Remove compile warning

Change-Id: I43aeeda3b163addb14d7d6ee6eab94edda523186
Signed-off-by: Yunsu Kim <iamyunsu.kim@samsung.com>
6 years ago[9610] arm64: configs: add config for FM Radio enable
Yunsu Kim [Mon, 11 Jun 2018 08:04:45 +0000 (17:04 +0900)]
[9610] arm64: configs: add config for FM Radio enable

Change-Id: If9fdd874def23e982b8490d84cab0bb36ab2624d
Signed-off-by: Yunsu Kim <iamyunsu.kim@samsung.com>
6 years ago[9610] arm64: dtsi: add dts config define for FM Radio Initialization
Yunsu Kim [Mon, 11 Jun 2018 08:02:28 +0000 (17:02 +0900)]
[9610] arm64: dtsi: add dts config define for FM Radio Initialization

Change-Id: Ieb63ae99d8440da56b1c29e17e3b2e01428b0ae1
Signed-off-by: Yunsu Kim <iamyunsu.kim@samsung.com>
6 years ago[9610] media: radio: add FM radio code for FM enable
Yunsu Kim [Mon, 11 Jun 2018 04:42:25 +0000 (13:42 +0900)]
[9610] media: radio: add FM radio code for FM enable

Change-Id: I304fa251a7a07bdf7436dc6acc6b745d407223a8
Signed-off-by: Yunsu Kim <iamyunsu.kim@samsung.com>
6 years agofbdev: dpu20: fix compilation error.
Jiun Yu [Mon, 4 Jun 2018 01:47:42 +0000 (10:47 +0900)]
fbdev: dpu20: fix compilation error.

Change-Id: If2d8a16850ab69193c3930f1ae683fd7f51ff577
Signed-off-by: Jiun Yu <jiun.yu@samsung.com>
6 years ago[9610] arm64: dts: add DPU BTS related information.
ChiHun Won [Mon, 4 Jun 2018 06:48:52 +0000 (15:48 +0900)]
[9610] arm64: dts: add DPU BTS related information.

AXI ports of each DPU_DMAs are defined in DPP DT information.
And PPC(Pixel Per Clock) value is defined in DECON DT information.

Change-Id: I207c975c3bf63fcbf37cdc6d796c917a8024a2e4
Signed-off-by: ChiHun Won <chihun.won@samsung.com>
6 years ago[9610] fbdev: dpu20: remove port information of each DPP channel.
ChiHun Won [Mon, 4 Jun 2018 06:46:03 +0000 (15:46 +0900)]
[9610] fbdev: dpu20: remove port information of each DPP channel.

AXI port information is moved to DT. So, this information
is unnecessary in CAL.

Change-Id: I49fd08ddd3160fbca2025a032d536376762828cb
Signed-off-by: ChiHun Won <chihun.won@samsung.com>
6 years agofbdev: dpu20: SoC dependent code is removed in DPU BTS code.
ChiHun Won [Mon, 4 Jun 2018 06:42:56 +0000 (15:42 +0900)]
fbdev: dpu20: SoC dependent code is removed in DPU BTS code.

AXI port number of each DPP channel, port count, DPP channel count
and DECON count are different at each SoC.

Previous DPU BTS code doesn't care another SoC. Because DPU BTS
code supports only own SoC.

This change of DPU BTS code supports common DPU driver.

Change-Id: I2421da368f5222295c41191d01736ddc3b75ff8c
Signed-off-by: ChiHun Won <chihun.won@samsung.com>
6 years ago[9610] fbdev: dpu20: change DPP channel number for BTS calculation.
ChiHun Won [Mon, 4 Jun 2018 06:31:05 +0000 (15:31 +0900)]
[9610] fbdev: dpu20: change DPP channel number for BTS calculation.

There are 3 channels between AXI bus and DPU_DMA. And each channel is connected
to 2 IDMAs but this connection is different from previous SoC.

So, channel connection is initialized in DECON CAL Layer for common driver.

Change-Id: Iac174cc8e6949297e2d7c166a0470eadc6723394
Signed-off-by: ChiHun Won <chihun.won@samsung.com>
6 years ago[9610] fbdev: dpu: add idle ip interface for dsim.
hwangjae lee [Thu, 31 May 2018 11:30:51 +0000 (20:30 +0900)]
[9610] fbdev: dpu: add idle ip interface for dsim.

The DPU can't turn off the power block. Howeveer, to enter the SICD, the
DPU must be notified when dsim hiber enter/exit mode.

Change-Id: Idcf69a91f7f6b0d34ed95ef38b0dce24bdde6c60
Signed-off-by: hwangjae lee <hj-yo.lee@samsung.com>
6 years ago[9610][ERD] wlbt: defconfig: enable cfg80211 and wireless
Ivan Priest [Fri, 8 Jun 2018 13:06:28 +0000 (14:06 +0100)]
[9610][ERD] wlbt: defconfig: enable cfg80211 and wireless

Turn on CFG80211 and WIRELESS configs

Change-Id: I5c94d5f46aad4f0862bfe234100209ae5c57130a
SCSC-Bug-Id: SSB-40175
Signed-off-by: Ivan Priest <i.priest@samsung.com>
6 years ago[9610] wlbt: don't pack mxconf on Android P.
Ivan Priest [Thu, 7 Jun 2018 16:13:55 +0000 (17:13 +0100)]
[9610] wlbt: don't pack mxconf on Android P.

After correcting mxconf structures to fix the warning reported
by Clang, WLBT FW crashes due to disagreement of the alignment
of shared data structures between driver and FW.

I suspect that because of the "__packed struct foo" syntax used
for mxconf.h on both sides, the structures don't really get
packed at all, so correcting it on one side only doesn't work.

Change-Id: Ie1c451d009531a2fa86a3e864a02f02647341cc4
SCSC-Bug-Id: SSB-40175
Signed-off-by: Ivan Priest <i.priest@samsung.com>
6 years ago[9610] wlbt: Fix compilation errors Android P mxconf.h (Android P)
Purnendu Kapadia [Thu, 7 Jun 2018 10:18:14 +0000 (11:18 +0100)]
[9610] wlbt: Fix compilation errors Android P mxconf.h (Android P)

use __packed attribute correctly so that the kernel built
with clang compiler boots.

Change-Id: Ic92e88381553d4db3cb24e1169570786f7fae2b9
SCSC-Bug-Id: SSB-40175
Signed-off-by: Purnendu Kapadia <p.kapadia@samsung.com>
6 years agoRevert "[9610] wlbt: Fix compilation errors Android P mxconf.c (Android P)"
Ivan Priest [Wed, 6 Jun 2018 23:23:21 +0000 (00:23 +0100)]
Revert "[9610] wlbt: Fix compilation errors Android P mxconf.c (Android P)"

This reverts commit 786d0c2f017152fe0dda8f0539d2fa0ff7a3bd56.

The commit was causing WLBT FW to panic on boot.

SCSC-Bug-Id: SSB-40175
Change-Id: I75bc6523f05a5ee31afae3a185e324089576ba09
Signed-off-by: Ivan Priest <i.priest@samsung.com>
6 years ago[9610] wlbt: Patch from Debrata (Android P)
Tarun Karela [Wed, 30 May 2018 11:17:15 +0000 (12:17 +0100)]
[9610] wlbt: Patch from Debrata  (Android P)

Kernel 4.14 patches

Change-Id: Icc987c1e91fb978bfb1d11b24ab3e68efa6d83f8
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[961] wlbt: Fix to cfg80211_ops.c from Mohit (Android P)
Tarun Karela [Wed, 30 May 2018 13:54:15 +0000 (14:54 +0100)]
[961] wlbt: Fix to cfg80211_ops.c from Mohit (Android P)

Linux 4.14 kernal patch for android p

Change-Id: I55280a92d4001cb1b621e72b592f3d08803e645e
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Add dts configuration for WLBT
Tarun Karela [Tue, 5 Jun 2018 21:55:11 +0000 (22:55 +0100)]
[9610] wlbt: Add dts configuration for WLBT

Taken as it is from Leman WW project

Change-Id: I5e93ee5c2c9dbac3e1ec67d8a5ed9ef3b8094314
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Fix warning in scsc/hip.c (Android P)
Tarun Karela [Wed, 30 May 2018 17:50:42 +0000 (18:50 +0100)]
[9610] wlbt: Fix warning in scsc/hip.c (Android P)

In file included from drivers/net/wireless/scsc/hip.c:9:0:
drivers/net/wireless/scsc/hip.h:58:66: warning: 'struct sk_buff' declared inside parameter list
 int slsi_hip_consume_smapper_entry(struct slsi_dev *sdev, struct sk_buff *skb);
                                                                  ^
drivers/net/wireless/scsc/hip.h:58:66: warning: its scope is only this definition or declaration, which is probably not what you want
  CC      drivers/misc/samsung/scsc/mifintrbit.o

Change-Id: Ie79cc8e689b813a504fbfef3cfd24a7845fa189a
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Change function name from __ieee80211_get_channel to ieee80211_get_chann...
Tarun Karela [Wed, 30 May 2018 17:45:41 +0000 (18:45 +0100)]
[9610] wlbt: Change function name from __ieee80211_get_channel to ieee80211_get_channel (Android P)

Fixes following compilation errors. Looks like it is simple case of function name change in api

drivers/net/wireless/scsc/mgt.c: In function 'slsi_select_wifi_sharing_ap_channel':
drivers/net/wireless/scsc/mgt.c:4033:4: error: implicit declaration of function '__ieee80211_get_channel' [-Werror=implicit-function-declaration]
    settings->chandef.chan = __ieee80211_get_channel(wiphy, settings->chandef.chan->center_freq);
    ^
drivers/net/wireless/scsc/mgt.c:4033:27: warning: assignment makes pointer from integer without a cast
    settings->chandef.chan = __ieee80211_get_channel(wiphy, settings->chandef.chan->center_freq);
                           ^
drivers/net/wireless/scsc/mgt.c:4038:28: warning: assignment makes pointer from integer without a cast
     settings->chandef.chan = __ieee80211_get_channel(wiphy, sta_frequency);
                            ^
drivers/net/wireless/scsc/mgt.c:4062:29: warning: assignment makes pointer from integer without a cast
      settings->chandef.chan = __ieee80211_get_channel(wiphy, sta_frequency);
                             ^
drivers/net/wireless/scsc/mgt.c:4066:28: warning: assignment makes pointer from integer without a cast
     settings->chandef.chan = __ieee80211_get_channel(wiphy, SLSI_2G_CHANNEL_ONE);

Change-Id: Ia1d3792d014495f6a09a53d3569d84b75d0a9575
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Enable SCSC configuration in erd9610_defconfig (Android P)
Tarun Karela [Wed, 30 May 2018 17:44:44 +0000 (18:44 +0100)]
[9610] wlbt: Enable SCSC configuration in erd9610_defconfig (Android P)

configuration taken from leman defconfig file maestro9610_defconfig

Change-Id: I830d8a31f63bda7e38feba69b8d05a9d092b81b2
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Guard wlbtd_init for platform where it is not enabled (Android P)
Tarun Karela [Wed, 30 May 2018 17:13:38 +0000 (18:13 +0100)]
[9610] wlbt: Guard wlbtd_init for platform where it is not enabled (Android P)

Fixes error on platform where wlbtd is not enabled

Change-Id: Idf57cf08a4d248c1fdda46bd4572a8ad4a241766
SCSC-Bug-Id: SSB-36810
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Fix compilation error to do with ReqId (Android P)
Tarun Karela [Wed, 30 May 2018 16:39:36 +0000 (17:39 +0100)]
[9610] wlbt: Fix compilation error to do with ReqId (Android P)

drivers/net/wireless/scsc/mgt.c: In function 'slsi_scan_cleanup':
drivers/net/wireless/scsc/mgt.c:630:4: error: too few arguments to function 'cfg80211_sched_scan_stopped'
    cfg80211_sched_scan_stopped(sdev->wiphy);

Change-Id: Ic667545ab30185989da8b11a773e58d26a1ae01a
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Fix/Mask out compilation errors in rx.c (Android P)
Tarun Karela [Wed, 30 May 2018 16:36:43 +0000 (17:36 +0100)]
[9610] wlbt: Fix/Mask out compilation errors in rx.c (Android P)

drivers/net/wireless/scsc/rx.c: In function 'slsi_scan_complete':
drivers/net/wireless/scsc/rx.c:524:3: error: too few arguments to function 'cfg80211_sched_scan_results'
   cfg80211_sched_scan_results(sdev->wiphy);
   ^
In file included from drivers/net/wireless/scsc/dev.h:33:0,
                 from drivers/net/wireless/scsc/debug.h:11,
                 from drivers/net/wireless/scsc/rx.c:9:
./include/net/cfg80211.h:4611:6: note: declared here
 void cfg80211_sched_scan_results(struct wiphy *wiphy, u64 reqid);
      ^
drivers/net/wireless/scsc/rx.c: In function 'slsi_rx_roamed_ind':
drivers/net/wireless/scsc/rx.c:925:5: warning: passing argument 2 of 'cfg80211_roamed' from incompatible pointer type
     ndev_vif->sta.sta_bss->channel,
     ^
In file included from drivers/net/wireless/scsc/dev.h:33:0,
                 from drivers/net/wireless/scsc/debug.h:11,
                 from drivers/net/wireless/scsc/rx.c:9:
./include/net/cfg80211.h:5479:6: note: expected 'struct cfg80211_roam_info *' but argument is of type 'struct ieee80211_channel *'
 void cfg80211_roamed(struct net_device *dev, struct cfg80211_roam_info *info,
      ^
drivers/net/wireless/scsc/rx.c:926:5: warning: passing argument 3 of 'cfg80211_roamed' makes integer from pointer without a cast
     peer->address,
     ^
In file included from drivers/net/wireless/scsc/dev.h:33:0,
                 from drivers/net/wireless/scsc/debug.h:11,
                 from drivers/net/wireless/scsc/rx.c:9:
./include/net/cfg80211.h:5479:6: note: expected 'gfp_t' but argument is of type 'u8 *'
 void cfg80211_roamed(struct net_device *dev, struct cfg80211_roam_info *info,
      ^
drivers/net/wireless/scsc/rx.c:924:3: error: too many arguments to function 'cfg80211_roamed'
   cfg80211_roamed(dev,
   ^
In file included from drivers/net/wireless/scsc/dev.h:33:0,
                 from drivers/net/wireless/scsc/debug.h:11,
                 from drivers/net/wireless/scsc/rx.c:9:
./include/net/cfg80211.h:5479:6: note: declared here
 void cfg80211_roamed(struct net_device *dev, struct cfg80211_roam_info *info,
      ^
drivers/net/wireless/scsc/rx.c: In function 'slsi_rx_received_frame_ind':
drivers/net/wireless/scsc/rx.c:1923:6: error: 'struct net_device' has no member named 'last_rx'
   dev->last_rx = jiffies;
      ^
scripts/Makefile.build:328: recipe for target 'drivers/net/wireless/scsc/rx.o' failed
make[4]: *** [drivers/net/wireless/scsc/rx.o] Error 1

Change-Id: I0e02d1fdad4beb2085fadc6aa783c439718ad332
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Fix/mask out compilation erros in cfg80211_ops.c (Android P)
Tarun Karela [Wed, 30 May 2018 13:54:15 +0000 (14:54 +0100)]
[9610] wlbt: Fix/mask out compilation erros in cfg80211_ops.c (Android P)

drivers/net/wireless/scsc/cfg80211_ops.c: In function 'slsi_add_virtual_intf':
drivers/net/wireless/scsc/cfg80211_ops.c:62:10: error: 'flags' undeclared (first use in this function)
  SLSI_UNUSED_PARAMETER(flags);
          ^
drivers/net/wireless/scsc/cfg80211_ops.c:62:10: note: each undeclared identifier is reported only once for each function it appears in
drivers/net/wireless/scsc/cfg80211_ops.c: At top level:
drivers/net/wireless/scsc/cfg80211_ops.c:2784:2: warning: initialization from incompatible pointer type
  .change_virtual_intf = slsi_change_virtual_intf,
  ^
drivers/net/wireless/scsc/cfg80211_ops.c:2784:2: warning: (near initialization for 'slsi_ops.change_virtual_intf')
drivers/net/wireless/scsc/cfg80211_ops.c:2824:2: warning: initialization from incompatible pointer type
  .sched_scan_stop = slsi_sched_scan_stop,
  ^
drivers/net/wireless/scsc/cfg80211_ops.c:2824:2: warning: (near initialization for 'slsi_ops.sched_scan_stop')
drivers/net/wireless/scsc/cfg80211_ops.c: In function 'slsi_cfg80211_new':
drivers/net/wireless/scsc/cfg80211_ops.c:3186:18: error: 'WIPHY_FLAG_SUPPORTS_SCHED_SCAN' undeclared (first use in this function)
  wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN;
                  ^
scripts/Makefile.build:328: recipe for target 'drivers/net/wireless/scsc/cfg80211_ops.o' failed
make[4]: *** [drivers/net/wireless/scsc/cfg80211_ops.o] Error 1
make[4]: *** Waiting for unfinished jobs....

Change-Id: Ice77ca9fde1d7f6fae5c8b2081f7c0c6c55ca287
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Get around compilation error by using dummy value (Android P)
Tarun Karela [Wed, 30 May 2018 13:21:23 +0000 (14:21 +0100)]
[9610] wlbt: Get around compilation error by using dummy value (Android P)

This needs proper fix as reqId is new parameter, presumably used to track each
scan request

drivers/net/wireless/scsc/cfg80211_ops.c: In function 'slsi_sched_scan_start':
drivers/net/wireless/scsc/cfg80211_ops.c:639:4: error: too few arguments to function 'cfg80211_sched_scan_stopped'
    cfg80211_sched_scan_stopped(wiphy);
    ^
In file included from drivers/net/wireless/scsc/cfg80211_ops.c:8:0:
./include/net/cfg80211.h:4623:6: note: declared here
 void cfg80211_sched_scan_stopped(struct wiphy *wiphy, u64 reqid);

Change-Id: I81174d7de5aa9825e538dca2923c29fd01eebcd6
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Fix compilation error change atomic_read -> refcount_read (Android P)
Tarun Karela [Wed, 30 May 2018 13:15:22 +0000 (14:15 +0100)]
[9610] wlbt: Fix compilation error change atomic_read -> refcount_read (Android P)

drivers/net/wireless/scsc/udi.c:1100:231: error: 'refcount_t' has no member named 'counter'
   SLSI_WARN(sdev, "UDI client File op release not completed yet! (count=%d)\n", atomic_read(&kref->refcount));
                                                                                                                                                                                                                                       ^
drivers/net/wireless/scsc/udi.c:1100:312: error: 'refcount_t' has no member named 'counter'
   SLSI_WARN(sdev, "UDI client File op release not completed yet! (count=%d)\n", atomic_read(&kref->refcount));
                                                                                                                                                                                                                                                                                                                        ^
drivers/net/wireless/scsc/udi.c:1100:357: error: 'refcount_t' has no member named 'counter'
   SLSI_WARN(sdev, "UDI client File op release not completed yet! (count=%d)\n", atomic_read(&kref->refcount));
                                                                                                                                                                                                                                                                                                                                                                     ^
drivers/net/wireless/scsc/udi.c:1100:419: error: 'refcount_t' has no member named 'counter'
   SLSI_WARN(sdev, "UDI client File op release not completed yet! (count=%d)\n", atomic_read(&kref->refcount));
                                                                                                                                                                                                                                                                                                                                                                                                                                   ^
drivers/net/wireless/scsc/udi.c:1100:464: error: 'refcount_t' has no member named 'counter'
   SLSI_WARN(sdev, "UDI client File op release not completed yet! (count=%d)\n", atomic_read(&kref->refcount));

Change-Id: I8de110227cd5eab8e2d172ad2a25505545b7bf6c
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Fix compilation error by commenting out line for now Android P
Tarun Karela [Wed, 30 May 2018 13:12:08 +0000 (14:12 +0100)]
[9610] wlbt: Fix compilation error by commenting out line for now Android P

drivers/net/wireless/scsc/rx.c: In function 'slsi_rx_received_frame_ind':
drivers/net/wireless/scsc/rx.c:1923:6: error: 'struct net_device' has no member named 'last_rx'
   dev->last_rx = jiffies;

Change-Id: Icd9b9bd5170a6a8dd0b0f76f0c44cb1cb6233718
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Fix compilation errors Android P mxconf.c (Android P)
Tarun Karela [Wed, 30 May 2018 13:00:51 +0000 (14:00 +0100)]
[9610] wlbt: Fix compilation errors Android P mxconf.c (Android P)

drivers/misc/samsung/scsc/mxman.c: In function 'mxman_init':
drivers/misc/samsung/scsc/mxman.c:1686:2: error: implicit declaration of function 'wlbtd_wq_init' [-Werror=implicit-function-declaration]
  wlbtd_wq_init(mxman);
  ^
drivers/misc/samsung/scsc/mxman.c: In function 'mxman_deinit':
drivers/misc/samsung/scsc/mxman.c:1706:2: error: implicit declaration of function 'wlbtd_wq_deinit' [-Werror=implicit-function-declaration]
  wlbtd_wq_deinit(mxman);
  ^
cc1: some warnings being treated as errors
scripts/Makefile.build:328: recipe for target 'drivers/misc/samsung/scsc/mxman.o' failed

Change-Id: I17248e84a4ecf9a0fbeef8ef5030def157fa808b
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Fix compilation errir in netif.c (Android P)
Tarun Karela [Wed, 30 May 2018 11:19:26 +0000 (12:19 +0100)]
[9610] wlbt: Fix compilation errir in netif.c (Android P)

drivers/net/wireless/scsc/netif.c: In function 'slsi_if_setup':
drivers/net/wireless/scsc/netif.c:1031:5: error: 'struct net_device' has no member named 'destructor'
  dev->destructor = free_netdev;

Change-Id: I8e910880ba32a501a61bc82f7877f9c859f4a0de
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Fix compilation erros in netif.c (Android P)
Tarun Karela [Wed, 30 May 2018 11:17:15 +0000 (12:17 +0100)]
[9610] wlbt: Fix compilation erros in netif.c (Android P)

Replace atomic_read with refcount_read to get rid of the following errors
drivers/net/wireless/scsc/netif.c: In function 'slsi_net_hw_xmit':
drivers/net/wireless/scsc/netif.c:825:47: error: 'refcount_t' has no member named 'counter'
  known_users = atomic_read(&skb->users);
                                               ^
drivers/net/wireless/scsc/netif.c:825:124: error: 'refcount_t' has no member named 'counter'
  known_users = atomic_read(&skb->users);
                                                                                                                            ^
drivers/net/wireless/scsc/netif.c:825:165: error: 'refcount_t' has no member named 'counter'
  known_users = atomic_read(&skb->users);
                                                                                                                                                                     ^
drivers/net/wireless/scsc/netif.c:825:223: error: 'refcount_t' has no member named 'counter'
  known_users = atomic_read(&skb->users);
                                                                                                                                                                                                                               ^
drivers/net/wireless/scsc/netif.c:825:264: error: 'refcount_t' has no member named 'counter'
  known_users = atomic_read(&skb->users);
                                                                                                                                                                                                                                                                        ^
drivers/net/wireless/scsc/netif.c:886:76: error: 'refcount_t' has no member named 'counter'
    WARN_ON(known_users &&
                                                                            ^
drivers/net/wireless/scsc/netif.c:886:153: error: 'refcount_t' has no member named 'counter'
    WARN_ON(known_users &&
                                                                                                                                                         ^
drivers/net/wireless/scsc/netif.c:886:194: error: 'refcount_t' has no member named 'counter'
    WARN_ON(known_users &&
                                                                                                                                                                                                  ^
drivers/net/wireless/scsc/netif.c:886:252: error: 'refcount_t' has no member named 'counter'
    WARN_ON(known_users &&
                                                                                                                                                                                                                                                            ^
drivers/net/wireless/scsc/netif.c:886:293: error: 'refcount_t' has no member named 'counter'
    WARN_ON(known_users &&

Change-Id: I011ad1396bf50dfd38b7c60877d9207e4718713f
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Enable net/wireless/scsc drivers (Android P)
Tarun Karela [Tue, 29 May 2018 15:56:34 +0000 (16:56 +0100)]
[9610] wlbt: Enable net/wireless/scsc drivers (Android P)

Enable CONFIG_SCSC_WLAN in 4.14 kernel

Change-Id: Ifab16f49e281b6de709b7e50c2610db1471781a1
SCSC-Bug-Id: SSB-40175
Signed-off-by: Tarun Karela <t.karela@samsung.com>
6 years ago[9610] wlbt: Patch for wbtld to work on Android P
Tarun Karela [Tue, 29 May 2018 14:13:48 +0000 (15:13 +0100)]
[9610] wlbt: Patch for wbtld to work on Android P

Provided by purnendu - netlink api has changed and that affects wbtld.
Committing it under original bugid

Change-Id: I0eb84fbb4e04523e3b73541a1174a53be610d730
SCSC-Bug-Id: SSB-36810
Signed-off-by: Tarun Karela <t.karela@samsung.com>