[alsa-devel] [PATCH v8 0/5] Add platform clock for BayTrail platforms

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Mon Jan 23 19:07:40 CET 2017


These patches specifically enable the audio MCLK required by Baytrail
CR devices. It is the remaining part of a bigger set of patches
(already merged in Mark Brown's tree) that enable sound for Baytrail CR
devices (especially Asus T100TAF) [1]. They include the clock driver
and clock enabling in the pmc_atom code (along with moving of the
non-architectural pmc_atom driver code into drivers/platform/x86 as
suggested by Thomas Gleixner [2]). This move includes a new header in
include/linux/platform_data/x86/. While there is an agreement that the
definitions for PMC clocks are not really platform data this location
is seen as a good-enough compromise with an agreement between Darren
Hart and Andy Shevchenko [3]

[1] http://mailman.alsa-project.org/pipermail/alsa-devel/2016-August/111704.html
[2] http://mailman.alsa-project.org/pipermail/alsa-devel/2016-October/113936.html
[3] http://mailman.alsa-project.org/pipermail/alsa-devel/2016-December/115892.html

Changes from v7:
 - Replaced clk-readl/writel by regular readl/writel
 - Fixed two nitpick comments (newline and driver name string)
 - Fixed [5:0] to [0..5] in comment (missed in v6)

Changes from v6:
 - Addressed comments from Stephen Boyd, Andy Shevchenko and Vinod Koul
 - Renamed clk-byt-plt to clk-pmc-atom
 - Rebase to 4.10-rc3 (broonie/for-next)
 - Added helper functions to make error handling more compact
 - Removed module-related code since it's not possible/supported
 - Removed useless tests on remove
 - PMC_CLK_OFFSET move to clk-pcm-atom (more logical)
 - Split typo correction and makefile fix in separate patches
 - small fixes (spaces, defaults in switches, alphabetical order, use of
clk_writel/readl and no test on write, simpler error handling, use of
while(i--), unsigned loop variables, kernel doc fields, format-patch -M
 -C -D, use of PLATFORM_DEVID_NONE)

Changes from v5:
 - fix build error reported by kbuild test robot
 - split the clk driver code from x86 platform changes

Changes from v4:
 - move the pmc_atom driver from arch/x86/platform/atom to
drivers/platform/x86

Changes from v3:
 - replace devm_kzalloc with devm_kcalloc
 - add x86 architecture maintainers

Changes from v2:
 - move clk platform data structures to a separate include file
 - store clk_hw pointer for the fixed rate clocks

Changes from v1:
 - register the clk device as child of pmc device
 - pass iomem pointer from pmc driver to clk driver to avoid using
pmc_atom_read()/write() and use readl/writel API instead
 - use devm_clk_hw_register/clkdev_hw_create instead of
clk_register/clkdev_create

Irina Tirdea (3):
  clk: x86: Add Atom PMC platform clocks
  arch/x86/platform/atom: Move pmc_atom to drivers/platform/x86
  platform/x86: Enable Atom PMC platform clocks

Pierre-Louis Bossart (2):
  clk: Make x86/ conditional on CONFIG_COMMON_CLK
  platform/x86: fix typo in comment

 arch/x86/Kconfig                                   |   4 -
 arch/x86/platform/atom/Makefile                    |   1 -
 drivers/acpi/acpi_lpss.c                           |   2 +-
 drivers/clk/Makefile                               |   2 +
 drivers/clk/x86/Makefile                           |   1 +
 drivers/clk/x86/clk-pmc-atom.c                     | 371 +++++++++++++++++++++
 drivers/platform/x86/Kconfig                       |   5 +
 drivers/platform/x86/Makefile                      |   1 +
 .../atom => drivers/platform/x86}/pmc_atom.c       |  88 ++++-
 include/linux/platform_data/x86/clk-pmc-atom.h     |  44 +++
 .../linux/platform_data/x86}/pmc_atom.h            |   2 +-
 11 files changed, 506 insertions(+), 15 deletions(-)
 create mode 100644 drivers/clk/x86/clk-pmc-atom.c
 rename {arch/x86/platform/atom => drivers/platform/x86}/pmc_atom.c (87%)
 create mode 100644 include/linux/platform_data/x86/clk-pmc-atom.h
 rename {arch/x86/include/asm => include/linux/platform_data/x86}/pmc_atom.h (98%)

-- 
2.7.4



More information about the Alsa-devel mailing list