rk_iommu_init() depends on iommu_subsys_init().
But rk_iommu_init() and iommu_subsys_init() are both in the same
subsys_initcall level.
Fix this by moving iommu_subsys_init() to the postcore_initcall_sync level.
Change-Id: Ie7a7ecf7ffa7c3876b745de657b65b84e65ff8c9
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
dw8250_platform_driver_init() depends on serial8250_init().
But dw8250_platform_driver_init() and serial8250_init() are both in the same
module_init level.
Fix this by moving serial8250_init() to the rootfs_initcall level.
Change-Id: I337da18ef25121ccb1f9351fd213abb7d83f82d1
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
hid_generic_init() depends on hid_init() to init hid_bus_type.
But hid_generic_init() and hid_init() are both in the same
module_init level.
Fix this by moving hid_init() to the rootfs_initcall level.
Change-Id: I070f92c405d898ae9f929bff968a6bd26811085a
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
opp_debug_init() depends on debugfs_init() to register debugfs filesystem.
But opp_debug_init() and debugfs_init() are both in the same
core_initcall level.
Fix this by moving opp_debug_init() to the core_initcall_sync level.
Change-Id: I4e6fa71e424bd1733d2c9aab4893f0f4af1e8099
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
regulator_init() depends on debugfs_init() to register debugfs filesystem.
But regulator_init() and debugfs_init() are both in the same
core_initcall level.
Fix this by moving regulator_init() to the core_initcall_sync level.
Change-Id: I302079e585f374a7fddd207e6fd740b61b0df52c
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
pinctrl_init() depends on debugfs_init() to register debugfs filesystem.
But pinctrl_init() and debugfs_init() are both in the same
core_initcall level.
Fix this by moving pinctrl_init() to the core_initcall_sync level.
Change-Id: I3b0741b8d32c6b05c7b15e20da6c410d26245745
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
ohci_platform_init()/ehci_platform_init depends on phy_core_init() to init phy_class.
But ohci_platform_init()/ehci_platform_init and phy_core_init() are both in the same
device_initcall/module_init level.
Fix this by moving phy_core_init() to the subsys_initcall level.
Change-Id: I0bbe2e1a02001e2ba97c9dc8be96d651984784ef
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
rfkill_init() depends on misc_init() to init misc_class.
But rfkill_init() and misc_init() are both in the same
subsys_initcall level.
Fix this by move misc_init() to the arch_initcall_sync level.
Change-Id: I7266c2787c04a42886816b0ef11f3ed968ebf557
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
alignment_init() create proc file "cpu/alignment" at the fs_initcall
level. While "cpu" dir is created on proc_cpu_init() at the same
initcall level too.
Fix this by move alignment_init() to the fs_initcall_sync level.
Change-Id: I8a8831f103b6729f57a8a70ff1bf5672fdf98810
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
usb_init() depends on param_sysfs_init() to init module_kset.
But usb_init() and param_sysfs_init() are both in the same
subsys_initcall level.
Fix this by move param_sysfs_init() to the arch_initcall_sync level.
Change-Id: Iccc44152c716959d98ed97ea379e0fc4378e185d
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
netlink_proto_init() depends on sock_init() to init sock_mnt.
But netlink_proto_init() and sock_init() are both in the same
core_initcall level.
Fix this by moving sock_init() to the pure_initcall level.
Change-Id: I201d52a23f17e895ee9e961514f9a6b42f96cd40
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
genl_init() depends on netlink_proto_init() to init nl_table.
But genl_init() and netlink_proto_init() are both in the same
core_initcall level.
Fix this by moving genl_init() to the core_initcall_sync level,
which is earlier than thermal_init().
Change-Id: Id4c85ea069c6ce3ebcb632856b695018bcc1e981
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
configfs_init()/debugfs_init() depends on ksysfs_init() to init kernel_kobj.
But configfs_init()/debugfs_init() and ksysfs_init() are both in the same
core_initcall level.
Fix this by move ksysfs_init() to the pure_initcall level.
Change-Id: Iaa23a25a59b3a133f3cecb396fc69dd7e65d45ad
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
rockchip_pwm_driver_init() -> rockchip_pwm_probe() -> devm_pwmchip_add()
-> pwmchip_add() -> pwmchip_sysfs_export()
pwmchip_sysfs_export() depends on pwm_sysfs_init() to init pwm_class.
But rockchip_pwm_driver_init() and pwm_sysfs_init() are both in the same
subsys_initcall level.
Fix this by move pwm_sysfs_init() to the postcore_initcall level.
Change-Id: If865768904be463732a5d2cb9f6ee2e9b333c0b3
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Moving rk_pdma_driver_init() to the arch_initcall_sync level.
Before rk3x_i2c_driver_init() etc.
Change-Id: Iafcb84b1537453ffb295bb7722d4455e75657e9c
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Moving panel_simple_init() to the rootfs_initcall level.
Before rockchip_drm_init().
Change-Id: If74f0888e0120189b58c8eb96485eb3c9ada7e4f
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Moving rk_iommu_init() to the subsys_initcall level.
Before rga_init() etc.
Change-Id: I050b96eb93f1fcb0fe12e12cbf95eb778678f44c
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Moving rockchip_saradc_driver_init() to the fs_initcall level.
Before adc_keys_driver_init().
Change-Id: I63ec4bd84ba1c9bd63359b2efc9559949d6311c7
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Since 'CONFIG_IOMMU_IOVA' is often disabled on 32-bit systems, causing
iommu_map API calls to fail, the DMA mapping API is used instead.
Change-Id: I7226ddf6a04e0af4c6b1b029bb5a32ede04c0810
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
In mst mode, dptx driver will dynamic create and destroy
connector according to the attach mst device. If a external
bridge is add for dp in mst mode, this bridge is not allow
to create connector.
Change-Id: I811baf5116e4c2cd1d12b04ead2054abcccbdffd
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
The child node may be not parsed by the order config in dts,
it would be better get child node by name to avoid mismatch.
Change-Id: Ibce47f44720f279eb53f063a351d3b859a371fd8
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Adjust pvtm-voltage-sel table of cpu to calibrate cpufreq better.
Change-Id: I36f440eee378b3d6865d6beb148ee3a5677fcb22
Signed-off-by: Liang Chen <cl@rock-chips.com>
sually, RK EP is directly powered by RC, and the entire device
reset switch of EP is controlled by PERST#. If EP is powered
independently, EP will enter the initialization phase independently
of RC. In order to wait for the REFCLK provided by RC to stabilize,
the definition of reset-gpio has been added to identify PERST# gpio
signal translation.
Change-Id: I45f6d176a0a71615ccbbde11f419475ad8600dd3
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
In some cases, the discontinuous biphasic result may not be valid
after sleeping for specified time due to the interrupt preemption.
Therefore, it may be better to use the completion and set the actual
wait time to the 3/2 of the specified delay time.
Change-Id: Ib7ee5f7ceb53c195178e25d745985577fa8a6c4c
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
In some cases, the frequency result may not be valid after sleeping
for specified time due to the interrupt preemption. Therefore, it may
be better to use the completion and set the actual wait time to the
3/2 of the specified delay time.
Change-Id: I5b9879ff9eaaf41ace5534040e0e47ec9bca7cc0
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
If the &rockchip_pwm_biphasic_config.enable is set to false in
continuous biphasic counter mode, &rockchip_pwm_chip.biphasic_config
will be set to NULL after &rockchip_pwm_funcs.set_biphasic.
Without this patch, there may be the null pointer exception.
Fixes: 7a42db27aa ("pwm: rockchip: support for biphasic counter mode")
Change-Id: Ie6fb5e3b1c69ae055720716531ddebb64dbf30bf
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>