Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DO NOT MERGE] New 4.14 UM-kernel for EM-2060 #7

Open
wants to merge 95 commits into
base: for-opinicus/stable-4.14.y
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
07e7717
ASoC: sun4i-is: also check for NULL on reset pin request
oliv3r Oct 9, 2017
774609f
fbdev: Whitespace fixing in the Makefile
oliv3r Mar 9, 2018
a8b336c
fbdev: of: Add of parsing helper
oliv3r Mar 9, 2018
c5eb0f8
fbdev: of: Add parameter to not clear screen on probe
oliv3r Mar 22, 2018
eeda783
fbdev: sysfs: Sort headers
oliv3r Mar 21, 2018
fa96d9b
fbdev: sysfs: Replace simple_strtoul with kstrtoul
oliv3r Mar 21, 2018
dcefc72
fbdev: sysfs: Input validation
oliv3r Mar 9, 2018
90cc3b8
fbdev: sysfs: Expand input validation to degree's
oliv3r Mar 12, 2018
68b614b
fbdev: sysfs: Add rotation in degrees support to validation
oliv3r Mar 12, 2018
b51874e
fbdev: ssd1307fb: Abort probe if we cannot talk to the display
oliv3r Aug 8, 2017
19e4532
fbdev: ssd1307fb: Rename i2c device ids
oliv3r Dec 19, 2017
8b0cab8
fbdev: ssd1307fb: Make output a little more consistent
oliv3r Dec 18, 2017
1dc264d
fbdev: ssd1307fb: Use ratelimited error printing
oliv3r Dec 18, 2017
7c6105c
fbdev: ssd1307fb: cleanup: Group fb_info.fix
oliv3r Mar 9, 2018
eaa8663
fbdev: ssd1307fb: Use resolution instead of dimensions
oliv3r Mar 9, 2018
b1a1ce2
fbdev: ssd1307fb: Reduce magic values with defines
oliv3r Mar 9, 2018
927589c
fbdev: ssd1307fb: Remove unused forward declaration
oliv3r Mar 9, 2018
8ae2796
fbdev: ssd1307fb: Ensure set_par can do bring-up
oliv3r Mar 10, 2018
ee7ff4c
fbdev: ssd1307fb: Ensure display is toggled properly
oliv3r Mar 10, 2018
e8ada89
fbdev: ssd1307fb: Add hardware accelerated rotation support
oliv3r Mar 10, 2018
9f2ede4
fbdev: ssd1307fb: Limit to support 0 - 180 rotation only
oliv3r Mar 12, 2018
83e7d98
fbdev: ssd1307fb: Do not always clear the display on boot
oliv3r Mar 22, 2018
1cd397f
gpio: pca953x: add support for the NXP pca9570
oliv3r Dec 18, 2017
c8388f7
leds: pca963x: abort probe if device is not connected
oliv3r Aug 8, 2017
5e9b4e3
leds: pca963x: alphabetize headers
May 29, 2015
b322f0d
leds: pca963x: add defines and remove some magic values
oliv3r Dec 16, 2015
c8f817e
leds: pca963x: save mode when setting power_state
oliv3r Oct 4, 2017
00537b8
leds: pca963x: refactor initial led output a little
oliv3r Oct 4, 2017
f309bbe
leds: pca963x: remove whitespace and checkpatch problems
oliv3r Apr 5, 2016
3a31f9a
leds: pca963x: set DMBLNK as default during probe
oliv3r Mar 17, 2017
5fc70f8
pwm: core: do not block apply->state on period
oliv3r Mar 8, 2017
a3d9801
rtc: sun6i: add missing header
oliv3r Feb 6, 2018
3c739f4
regulator: axp20x: use defines for masks
oliv3r Jan 3, 2017
bd7f5b4
regulator: axp20x: name voltage ramping define properly
oliv3r Oct 9, 2017
2211688
regulator: core: enable power when setting up constraints
oliv3r Mar 6, 2017
0b9c63f
regulator: axp20x: add support for set_ramp_delay
oliv3r Mar 2, 2017
b6ae32b
regulator: axp20x: add software based soft_start for LDO3
oliv3r Mar 2, 2017
4df9bf0
regulator: dts: enable soft-start and ramp delay for the OLinuXino Lime2
oliv3r Mar 3, 2017
50ae568
regulator: dts: add full voltage range to LDO4 on the Lime2
oliv3r Dec 11, 2017
5202883
regulator: dts: set proper lradc vref on OLinuXino Lime2
oliv3r Dec 18, 2017
4cb76bd
mfd: axp20x: fixup includes
oliv3r Jan 3, 2017
29b1113
mfd: axp20x: use explicit bit defines
oliv3r Oct 4, 2017
182856f
power: supply: axp20x: add missing include bitops.h
oliv3r Jan 3, 2017
47b3c8f
power: supply: axp288: use the BIT() macro
oliv3r Jan 3, 2017
c70a8de
serial: 8250: Replace asm/irq with linux/irqreturn, linux/interrupt
oliv3r Feb 19, 2018
9f9980b
serial: 8250: Minor cleanups
oliv3r Mar 29, 2017
588b9bc
serial: 8250: Do not treat the IIR register as a bitfield
oliv3r Feb 16, 2018
c888f04
serial: 8250_dw: Use serial port assessor wrapper
oliv3r Feb 15, 2018
683cd0e
serial: 8250_dw: Make register access consistent
oliv3r Feb 16, 2018
b699f8f
serial: 8250: Only confirm handled interrupts on supported ones
oliv3r Feb 16, 2018
4fdf765
serial: 8250: expand debug ability of the irq handler
oliv3r Feb 16, 2018
4c7e6a0
input: of_touchscreen: shorten variable names
oliv3r Dec 11, 2017
63f53da
input: of_touchscreen: rename touchscreen-size-[xy]
oliv3r Dec 11, 2017
92b0e09
input: of_touchscreen: add support for minimum sizes
oliv3r Dec 13, 2017
136c3a0
input: edt-ft5x06: group r, w and rw functions
oliv3r Dec 19, 2017
dc25464
input: edt-ft5x06: add support for the ft5426 controller
oliv3r Dec 13, 2017
1d27b30
input: edt-ft5x06: cleanup headers
oliv3r Dec 13, 2017
85912c6
input: edt-ft5x06: only enable the irq when needed
oliv3r Dec 13, 2017
8a10c29
input: edt-ft5x06: fix some whitespace/ident issues
oliv3r Dec 14, 2017
0088d4a
input: edt-ft5x06: minor consistency cleanup/line length reduction
oliv3r Dec 14, 2017
3341860
input: edt-ft5x06: shorten defines
oliv3r Dec 14, 2017
94337c2
input: edt-ft5x06: use less magic and more defines
oliv3r Dec 15, 2017
0bdd8a5
input: edt-ft5x06: silence deferral error
oliv3r Dec 15, 2017
66ab38d
input: edt-ft5x06: sanity check on input
oliv3r Dec 18, 2017
76762fa
input: edt-ft5x06: fix multi-touch handling
oliv3r Dec 18, 2017
a554a3a
input: edt-ft5x06: take into account the number of fingers
oliv3r Dec 18, 2017
32842c0
input: edt-ft5x06: add polldev as an option
oliv3r Dec 18, 2017
d619e9d
input: edt-ft5x06: force touchscreen to remain active
oliv3r Dec 19, 2017
a083ea6
drm/edid: Prevent NULL pointer deref when there is no I2C adapter
oliv3r Mar 2, 2018
4005af3
drm/sun4i: Fix Kconfig indenting
oliv3r Oct 10, 2017
123fb0f
drm/sun4i: improve header readability
oliv3r Mar 1, 2018
a0c9f90
drm/sun4i: Fix NULL pointer dereference at unbind
oliv3r Feb 27, 2018
cd5b3da
drm/sun4i: enable/disable the tmds clock on use
oliv3r Mar 1, 2018
180c93c
drm/sun4i: make bool assignment explicit
oliv3r Mar 1, 2018
c88bcd6
drm/sun4i: i2c: consolidate ddc items
oliv3r Sep 4, 2017
75bc7e4
drm/sun4i: make fifo_transfer more verbose in case of error
oliv3r Mar 1, 2018
46fc76b
drm: sun4i: check for i2c busy status
oliv3r Mar 1, 2018
0c15f45
[WIP-do-not-merge] drm/sunxi: Split off hdmi-i2c as a separated driver
oliv3r Oct 20, 2017
6e4973b
arm/dts: Use hdmi_i2c node on the OLinuXino Lime2
oliv3r Mar 30, 2018
b1ca4f2
Merge branches 'for-opinicus/asoc', 'for-opinicus/gpio', 'for-opinicu…
oliv3r Apr 5, 2018
78c434d
net/rfkill/rfkill-gpio: Alphabetize headers
oliv3r Apr 20, 2018
cec74d4
net/rfkill/rfkill-gpio: Add support for devicetree bindings
oliv3r Apr 20, 2018
0fdd916
Merge branch 'for-opinicus/rfkill' into opinicus-4.14-0
oliv3r Apr 20, 2018
e28c2cb
Revert "fbdev: ssd1307fb: Do not always clear the display on boot"
raysiudak Mar 26, 2019
b9597bd
Revert "fbdev: ssd1307fb: Limit to support 0 - 180 rotation only"
raysiudak Mar 26, 2019
d0c61cd
Revert "fbdev: ssd1307fb: Add hardware accelerated rotation support"
raysiudak Mar 26, 2019
6ab4bc2
Revert "fbdev: ssd1307fb: Ensure display is toggled properly"
raysiudak Mar 26, 2019
fdd729f
Revert "fbdev: ssd1307fb: Ensure set_par can do bring-up"
raysiudak Mar 26, 2019
b76a6ba
Revert "fbdev: ssd1307fb: Remove unused forward declaration"
raysiudak Mar 26, 2019
77f3eff
Revert "fbdev: ssd1307fb: Reduce magic values with defines"
raysiudak Mar 26, 2019
6017cbd
Revert "fbdev: ssd1307fb: Use resolution instead of dimensions"
raysiudak Mar 26, 2019
d0f6f9f
Revert "fbdev: ssd1307fb: cleanup: Group fb_info.fix"
raysiudak Mar 26, 2019
9d3942c
"fbdev: ssd1307fb: Do not always clear the display on boot""
raysiudak Mar 27, 2019
eaace6d
PWM beeper forcing PWM to inactive statr
Mar 29, 2019
6c9945f
fbdev: ssd1307fb: Change default display refresh frequency from 1 to …
Jul 14, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Documentation/devicetree/bindings/display/fbdev.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
General framebuffer properties:

Optional properties for framebuffers:
- no-clear-on-probe : Do not clear the framebuffer during probe (bool)
- rotate : rotate a framebuffer over 0, 1, 2 and 3 (or 0, 90,
180 and 270) degree's (integer)
52 changes: 45 additions & 7 deletions Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,8 @@ Required properties:
* pll-0: the first video PLL
* pll-1: the second video PLL
- clock-names: the clock names mentioned above
- clock-output-names: the name of the output clock by the HDMI/TMDS encoder
- dmas: phandles to the DMA channels used by the HDMI encoder
* ddc-tx: The channel for DDC transmission
* ddc-rx: The channel for DDC reception
* audio-tx: The channel used for audio transmission
- dma-names: the channel names mentioned above

Expand All @@ -61,6 +60,32 @@ Required properties:
first port should be the input endpoint. The second should be the
output, usually to an HDMI connector.

Optional properties:
- ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing

HDMI-I2C bus driver
-------------------

The HDMI-I2C bus controller is implemented using a reasonably common I2C block
and can be used as a regular I2C device in a board layout. The only caveat
however is that the bus timing is dependent on the TMDS clock and thus the

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NITPICK: use interpunction :P

exact I2C bus frequency may not be achieved.

Required properties:
- compatible: value must be one of:
* allwinner,sun4i-a10-hdmi-i2c
* allwinner,sun6i-a31-hdmi-i2c
- reg: base address and size of the memory-mapped region
- clocks: phandle to the clock feeding the HDMI-I2C bus controller
* hdmi: the HDMI/TMDS peripheral is the input clock, common on sun4i
* ddc: a dedicated DDC clock is the input clock, common on sun6i
- dmas: phandles to the DMA channels used by the HDMI-I2C bus controller
* ddc-tx: The channel for DDC transmission
* ddc-rx: The channel for DDC reception

Optional properties:
- clock-frequency: see the common i2c binding document

TV Encoder
----------

Expand Down Expand Up @@ -277,16 +302,16 @@ connector {

hdmi: hdmi@01c16000 {
compatible = "allwinner,sun5i-a10s-hdmi";
reg = <0x01c16000 0x1000>;
reg = <0x01c16000 0x500>;
interrupts = <58>;
clocks = <&ccu CLK_AHB_HDMI>, <&ccu CLK_HDMI>,
<&ccu CLK_PLL_VIDEO0_2X>,
<&ccu CLK_PLL_VIDEO1_2X>;
clock-names = "ahb", "mod", "pll-0", "pll-1";
dmas = <&dma SUN4I_DMA_NORMAL 16>,
<&dma SUN4I_DMA_NORMAL 16>,
<&dma SUN4I_DMA_DEDICATED 24>;
dma-names = "ddc-tx", "ddc-rx", "audio-tx";
clock-output-names = "hdmi-tmds";
ddc-i2c-bus = <&hdmi_i2c>;
dmas = <&dma SUN4I_DMA_DEDICATED 24>;
dma-names = "audio-tx";

ports {
#address-cells = <1>;
Expand Down Expand Up @@ -314,6 +339,19 @@ hdmi: hdmi@01c16000 {
};
};

hdmi_i2c: i2c@16500 {
compatible = "allwinner,sun7i-a20-hdmi-i2c",
"allwinner,sun4i-a10-hdmi-i2c";
reg = <0x01c16500 0x40>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&hdmi>;
dmas = <&dma SUN4I_DMA_NORMAL 16>,
<&dma SUN4I_DMA_NORMAL 16>,
dma-names = "ddc-tx", "ddc-rx";
status = "disabled";
};

tve0: tv-encoder@01c0a000 {
compatible = "allwinner,sun4i-a10-tv-encoder";
reg = <0x01c0a000 0x1000>;
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/gpio/gpio-pca953x.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Required properties:
nxp,pca9555
nxp,pca9556
nxp,pca9557
nxp,pca9570
nxp,pca9574
nxp,pca9575
nxp,pca9698
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,17 @@ Required properties:
- compatible: "edt,edt-ft5206"
or: "edt,edt-ft5306"
or: "edt,edt-ft5406"
or: "edt,edt-ft5426"
or: "edt,edt-ft5506"
or: "focaltech,ft6236"

- reg: I2C slave address of the chip (0x38)

Optional properties:
- interrupt-parent: a phandle pointing to the interrupt controller
serving the interrupt for this chip
- interrupts: interrupt specification for the touchdetect
interrupt

Optional properties:
- reset-gpios: GPIO specification for the RESET input
- wake-gpios: GPIO specification for the WAKE input

Expand All @@ -44,6 +45,7 @@ Optional properties:

- offset: allows setting the edge compensation in the range from
0 to 31.
- poll-interval: Poll interval time in milliseconds
- touchscreen-size-x : See touchscreen.txt
- touchscreen-size-y : See touchscreen.txt
- touchscreen-fuzz-x : See touchscreen.txt
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
General Touchscreen Properties:

Optional properties for Touchscreens:
- touchscreen-size-x : horizontal resolution of touchscreen
(in pixels)
- touchscreen-size-y : vertical resolution of touchscreen
(in pixels)
- touchscreen-min-size-x : minimal reported horizontal resolution of
touchscreen (in pixels)
- touchscreen-min-size-y : minimal reported vertical resolution of
touchscreen (in pixels)
- touchscreen-max-size-x : maximal reported horizontal resolution of
touchscreen (in pixels)
- touchscreen-max-size-y : maximal reported vertical resolution of touchscreen
touchscreen (in pixels)
- touchscreen-max-pressure : maximum reported pressure (arbitrary range
dependent on the controller)
- touchscreen-fuzz-x : horizontal noise value of the absolute input
Expand All @@ -25,6 +29,8 @@ Optional properties for Touchscreens:
- touchscreen-y-mm : vertical length in mm of the touchscreen

Deprecated properties for Touchscreens:
- touchscreen-size-x : deprecated name for touchscreen-size-x
- touchscreen-size-y : deprecated name for touchscreen-size-y
- x-size : deprecated name for touchscreen-size-x
- y-size : deprecated name for touchscreen-size-y
- moving-threshold : deprecated name for a combination of
Expand Down
8 changes: 8 additions & 0 deletions Documentation/devicetree/bindings/mfd/axp20x.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,14 @@ Required properties:
- interrupt-controller: The PMIC has its own internal IRQs
- #interrupt-cells: Should be set to 1

Supported common regulator properties, see regulator.txt for more information:
- regulator-ramp-delay: sets the ramp up delay in uV/us
AXP20x/DCDC2: 1600, 800
AXP20x/LDO3: 1600, 800
- regulator-soft-start: enable the output at the lowest possible voltage and
only then set the desired voltage
AXP20x/LDO3

Optional properties:
- x-powers,dcdc-freq: defines the work frequency of DC-DC in KHz
AXP152/20X: range: 750-1875, Default: 1.5 MHz
Expand Down
33 changes: 33 additions & 0 deletions Documentation/devicetree/bindings/net/rfkill-gpio.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Linux rfkill-gpio Bindings
--------------------------

This binding provides support the rfkill via an gpio interface.

Note: Only one of the gpios definitions is required. If both are set, both
will be toggled uppon rfkill invocation.

Required properties:
- compatible Should be one of:
"linux,rfkill-gpio"
- type Shall be one of:
"wlan"
"bluetooth"
"ultrawideband"
"wimax"
"wwan"
"gps"
"fm"
"nfc"
If left undefined, the 'RFKILL_TYPE_ALL' type
shall be used.

- shutdown-gpios Which GPIO to use for shutdown
or
- reset-gpios Which GPIO to use for reset

Example:
phy0-kill {
compatible = "linux,rfkill-gpio";
type = "wlan";
shutdown-gpios = <&pio 2 17 GPIO_ACTIVE_HIGH>;
};
19 changes: 16 additions & 3 deletions arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,12 @@
};

&hdmi {
ddc-i2c-bus = <&hdmi_i2c>;
status = "okay";
};

&hdmi_i2c {
clock-frequency = <100000>;
status = "okay";
};

Expand Down Expand Up @@ -154,6 +160,10 @@
};
};

&lradc {
vref-supply = <&reg_vcc3v0>;
};

&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>;
Expand Down Expand Up @@ -246,12 +256,15 @@
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vddio-csi0";
regulator-soft-start;
regulator-ramp-delay = <1600>;
};

&reg_ldo4 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vddio-csi1";
regulator-always-on;
regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vdd-io-pg";
};

&reg_usb0_vbus {
Expand Down
23 changes: 18 additions & 5 deletions arch/arm/boot/dts/sun7i-a20.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -575,16 +575,16 @@
hdmi: hdmi@1c16000 {
compatible = "allwinner,sun7i-a20-hdmi",
"allwinner,sun5i-a10s-hdmi";
reg = <0x01c16000 0x1000>;
reg = <0x01c16000 0x500>;
interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_AHB_HDMI0>, <&ccu CLK_HDMI>,
<&ccu CLK_PLL_VIDEO0_2X>,
<&ccu CLK_PLL_VIDEO1_2X>;
clock-names = "ahb", "mod", "pll-0", "pll-1";
dmas = <&dma SUN4I_DMA_NORMAL 16>,
<&dma SUN4I_DMA_NORMAL 16>,
<&dma SUN4I_DMA_DEDICATED 24>;
dma-names = "ddc-tx", "ddc-rx", "audio-tx";
#clock-cells = <0>;
clock-output-names = "hdmi-tmds";
dmas = <&dma SUN4I_DMA_DEDICATED 24>;
dma-names = "audio-tx";
status = "disabled";

ports {
Expand Down Expand Up @@ -615,6 +615,19 @@
};
};

hdmi_i2c: i2c@16500 {
compatible = "allwinner,sun7i-a20-hdmi-i2c",
"allwinner,sun4i-a10-hdmi-i2c";
reg = <0x01c16500 0x40>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&hdmi>;
dmas = <&dma SUN4I_DMA_NORMAL 16>,
<&dma SUN4I_DMA_NORMAL 16>;
dma-names = "ddc-tx", "ddc-rx";
status = "disabled";
};

spi2: spi@1c17000 {
compatible = "allwinner,sun4i-a10-spi";
reg = <0x01c17000 0x1000>;
Expand Down
2 changes: 2 additions & 0 deletions drivers/gpio/gpio-pca953x.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ static const struct i2c_device_id pca953x_id[] = {
{ "pca9555", 16 | PCA953X_TYPE | PCA_INT, },
{ "pca9556", 8 | PCA953X_TYPE, },
{ "pca9557", 8 | PCA953X_TYPE, },
{ "pca9570", 4 | PCA957X_TYPE, },
{ "pca9574", 8 | PCA957X_TYPE | PCA_INT, },
{ "pca9575", 16 | PCA957X_TYPE | PCA_INT, },
{ "pca9698", 40 | PCA953X_TYPE, },
Expand Down Expand Up @@ -931,6 +932,7 @@ static const struct of_device_id pca953x_dt_ids[] = {
{ .compatible = "nxp,pca9555", .data = OF_953X(16, PCA_INT), },
{ .compatible = "nxp,pca9556", .data = OF_953X( 8, 0), },
{ .compatible = "nxp,pca9557", .data = OF_953X( 8, 0), },
{ .compatible = "nxp,pca9570", .data = OF_957X( 4, 0), },
{ .compatible = "nxp,pca9574", .data = OF_957X( 8, PCA_INT), },
{ .compatible = "nxp,pca9575", .data = OF_957X(16, PCA_INT), },
{ .compatible = "nxp,pca9698", .data = OF_953X(40, 0), },
Expand Down
3 changes: 3 additions & 0 deletions drivers/gpu/drm/drm_edid.c
Original file line number Diff line number Diff line change
Expand Up @@ -1451,6 +1451,9 @@ drm_do_probe_ddc_edid(void *data, u8 *buf, unsigned int block, size_t len)
unsigned char xfers = segment ? 3 : 2;
int ret, retries = 5;

if (!adapter)
return -ENODEV;

/*
* The core I2C driver will automatically retry the transfer if the
* adapter reports EAGAIN. However, we find that bit-banging transfers
Expand Down
24 changes: 16 additions & 8 deletions drivers/gpu/drm/sun4i/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,26 @@ config DRM_SUN4I
if DRM_SUN4I

config DRM_SUN4I_HDMI
tristate "Allwinner A10 HDMI Controller Support"
default DRM_SUN4I
help
tristate "Allwinner A10 HDMI Controller Support"
default DRM_SUN4I
help
Choose this option if you have an Allwinner SoC with an HDMI
controller.

config I2C_SUN4I_HDMI
tristate "Allwinner A10 HDMI I2C Support"
depends on DRM_SUN4I_HDMI
select I2C
help
Choose this option if you have an Allwinner SoC with an I2C
enabled HDMI controller and want to enable the I2C channel.

config DRM_SUN4I_HDMI_CEC
bool "Allwinner A10 HDMI CEC Support"
depends on DRM_SUN4I_HDMI
select CEC_CORE
select CEC_PIN
help
bool "Allwinner A10 HDMI CEC Support"
depends on DRM_SUN4I_HDMI
select CEC_CORE
select CEC_PIN
help
Choose this option if you have an Allwinner SoC with an HDMI
controller and want to use CEC.

Expand Down
8 changes: 6 additions & 2 deletions drivers/gpu/drm/sun4i/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ sun4i-backend-y += sun4i_backend.o sun4i_layer.o
sun4i-drm-y += sun4i_drv.o
sun4i-drm-y += sun4i_framebuffer.o

sun4i-drm-hdmi-y += sun4i_hdmi_ddc_clk.o
sun4i-hdmi-i2c-y += sun4i_hdmi_i2c_drv.o sun4i_hdmi_ddc_clk.o
sun4i-hdmi-i2c-y += sun4i_hdmi_i2c.o

sun4i-drm-hdmi-y += sun4i_hdmi_i2c_drv.o sun4i_hdmi_ddc_clk.o
sun4i-drm-hdmi-y += sun4i_hdmi_enc.o
sun4i-drm-hdmi-y += sun4i_hdmi_i2c.o
sun4i-drm-hdmi-y += sun4i_hdmi_tmds_clk.o

sun8i-mixer-y += sun8i_mixer.o sun8i_layer.o
Expand All @@ -24,3 +26,5 @@ obj-$(CONFIG_DRM_SUN4I) += sun6i_drc.o
obj-$(CONFIG_DRM_SUN4I_BACKEND) += sun4i-backend.o
obj-$(CONFIG_DRM_SUN4I_HDMI) += sun4i-drm-hdmi.o
obj-$(CONFIG_DRM_SUN8I_MIXER) += sun8i-mixer.o

obj-$(CONFIG_I2C_SUN4I_HDMI) += sun4i-hdmi-i2c.o
2 changes: 2 additions & 0 deletions drivers/gpu/drm/sun4i/sun4i_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,8 @@ static int sun4i_drv_bind(struct device *dev)
if (ret)
goto finish_poll;

dev_set_drvdata(dev, drm);

return 0;

finish_poll:
Expand Down
Loading