ASoC: OMAP: HDMI: Check if the codec pdev is valid before unregister

Errors when registering the card may occur in DT and non-DT boots. We create
the audio codec platform device from here only in DT boots. Thus, if card
registration fails in non-DT, we would be unregistering an invalid codec
platform device.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: HDMI: Rename resource variable at probe.

Minor cleanup to give to the resource variable a more proper name.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: HDMI: Make panel return error if cannot register driver

Do not assume blindly that the DSS driver was registered successfully.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: HDMI: Uninit display if unable to register device

The display must be uninit'ed in order to free the requested GPIOs.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: HDMI: Handle error when initing the display at probe

Do not blindly assume that the panel could be init'ed.

While there, put mutex initialization in the same place.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: HDMI: Create an audio probe function

Instead of handling the audio probe stuff inside omapdss_hdmihw_probe,
create a dedicated function for audio. This improves readability.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: HDMI: Build audio probe conditionally

Build audio probe code only when required. This allow us to have HDMI driver
code without audio.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
ARM: OMAP4+: Remove creation of device for ASoC HDMI driver

This is to allow the OMAPDSS HDMI driver to handle the creation of
accesory devices, such as the HDMI audio device.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
ARM: OMAP4+: Relocate the creation of HDMI device to board files

The purpose of the device being relocated is to describe how the
HDMI output is wired on the 4430SDP and OMAP4 Panda boards. Hence,
it makes sense to relocate them on the applicable board files.

This device is used by the ASoC OMAP HDMI machine driver.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
ASoC: OMAP: HDMI: Update machine driver name

Update driver name to match the device created to describe the
connection between the HDMI output of OMAP and the level shifter
chip TPD12S015.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
ASoC: OMAP: HDMI: Update CPU DAI driver name

Update driver name to use the device created by the OMAPDSS HDMI
driver.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
ARM/dts: omap4-sdp: Correct the location of sound_hdmi

sound_hdmi must be under the root node.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
ARM/dts: omap4-sdp: Update the compatible property of sound_hdmi

This node aims to represent the connection between the OMAP HDMI IP
and the TPD12S015 level-shifter chip. Thus, the hame is updated to
better reflect that.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
ARM/dts: omap4-panda: Update the compatible property of sound_hdmi

This node aims to represent the connection between the OMAP HDMI IP
and the TPD12S015 level-shifter chip. Thus, the hame is updated to
better reflect that.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
ASoC: HDMI: Update compatible property from of_match_table

This is to better represent the connection between the OMAP HDMI IP
and the TPD12S015 level-shifter chip.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
HACK: enable pinmuxing with DT kernel
ARM/dts: omap5-evm: Update the compatible property of sound_hdmi

This node aims to represent the connection between the OMAP HDMI IP
and the TPD12S015 level-shifter chip. Thus, the hame is updated to
better reflect that.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
ARM/dts: omap5-evm: Update the compatible property of sound_hdmi

This node aims to represent the connection between the OMAP HDMI IP
and the TPD12S015 level-shifter chip. Thus, the hame is updated to
better reflect that.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
gpio/pca953x: Remove OF match table

This is an I2C driver. Hence, it does not need an explicity match table.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
ARM/dts: omap5-evm: Update description of TCA6424A IO expander

In order to be aligned with other machine DT descriptions (e.g., LPC3250
board), describe the TCA6424A IO expander chip inside the board tree.

Also, name the node with the full name of the chip and update phandles
accordingly.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>