- 23 4月, 2014 1 次提交
-
-
由 Tomasz Figa 提交于
This patch adds driver data (bank list and EINT layout) for Exynos3250 to pinctrl-exynos driver. Exynos3250 includes 158 multi-functional input/output ports. There are 23 general port groups. Changes from v1: - Add signed-off of sender - Post only separated patch for pinctrl from following patchset(v1) : https://lkml.org/lkml/2014/4/10/286 Cc: Thomas Abraham <thomas.abraham@linaro.org> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: NTomasz Figa <t.figa@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Acked-by: NKyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 11 2月, 2014 1 次提交
-
-
由 Young-Gun Jang 提交于
Adds pinctrl support for all platforms based on EXYNOS5260 SoC. Acked-by: NTomasz Figa <t.figa@samsung.com> Signed-off-by: NPankaj Dubey <pankaj.dubey@samsung.com> Signed-off-by: NYoung-Gun Jang <yg1004.jang@samsung.com> Signed-off-by: NRahul Sharma <rahul.sharma@samsung.com> Signed-off-by: NArun Kumar K <arun.kk@samsung.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 08 10月, 2013 1 次提交
-
-
由 Sachin Kamat 提交于
The data structure of_match_ptr() protects is always compiled in. Hence of_match_ptr() is not needed. This is a squash commit of: pinctrl: at91: Remove redundant of_match_ptr pinctrl: exynos5440: Remove redundant of_match_ptr pinctrl: imx35: Remove redundant of_match_ptr pinctrl: imx51: Remove redundant of_match_ptr pinctrl: imx53: Remove redundant of_match_ptr pinctrl: imx6dl: Remove redundant of_match_ptr pinctrl: imx6q: Remove redundant of_match_ptr pinctrl: samsung: Remove redundant of_match_ptr pinctrl: vf610: Remove redundant of_match_ptr pinctrl: imx6sl: Remove redundant of_match_ptr pinctrl: plgpio: Remove redundant of_match_ptr Acked-by: NViresh Kumar <viresh.kumar@linaro.org> Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 28 8月, 2013 2 次提交
-
-
由 Mateusz Krawczuk 提交于
This patch implements pinctrl support and adds device tree bindings for s5pv210. Signed-off-by: NMateusz Krawczuk <m.krawczuk@partner.samsung.com> Acked-by: NSylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Sherman Yin 提交于
When setting pin configuration in the pinctrl framework, pin_config_set() or pin_config_group_set() is called in a loop to set one configuration at a time for the specified pin or group. This patch 1) removes the loop and 2) changes the API to pass the whole pin config array to the driver. It is now up to the driver to loop through the configs. This allows the driver to potentially combine configs and reduce the number of writes to pin config registers. All c files changed have been build-tested to verify the change compiles and that the corresponding .o is successfully generated. Signed-off-by: NSherman Yin <syin@broadcom.com> Reviewed-by: NChristian Daudt <csd@broadcom.com> Reviewed-by: NMatt Porter <matt.porter@linaro.org> Tested-by: NStephen Warren <swarren@nvidia.com> Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 23 8月, 2013 1 次提交
-
-
由 Tomasz Figa 提交于
Calling pinctrl_register() means that the driver is fully initialized and might accept pinmux/pinconf requests, so pin groups must be parsed before. This patch fixes this problem by moving device tree parsing before call to pinctrl_register(). In addition, this fixes support for hogs on pin controllers handled by pinctrl-samsung driver. Signed-off-by: NTomasz Figa <t.figa@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 24 6月, 2013 1 次提交
-
-
由 Sachin Kamat 提交于
'drvdata_list' is used only in this file. Make it static. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 19 6月, 2013 1 次提交
-
-
由 Leela Krishna Amudala 提交于
Add Samsung EXYNOS5420 SoC specific data to enable pinctrl support for all platforms based on EXYNOS5420. Signed-off-by: NLeela Krishna Amudala <l.krishna@samsung.com> Reviewed-by: NDoug Anderson <dianders@chromium.org> Acked-by: NTomasz Figa <t.figa@samsung.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Tested-by : Sunil Joshi <joshi@samsung.com> Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
-
- 27 5月, 2013 2 次提交
-
-
由 Tomasz Figa 提交于
SoC-specific driver might require additional save and restore of registers. This patch adds pair of SoC-specific callbacks per pinctrl device to account for this. Signed-off-by: NTomasz Figa <t.figa@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Tested-by: NDoug Anderson <dianders@chromium.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Doug Anderson 提交于
The GPIO states need to be restored after s2r and this is not currently supported in the pinctrl driver. This patch saves the gpio states before suspend and restores them after resume. Saving and restoring is done very early using syscore_ops and must happen before pins are released from their powerdown state. Patch originally from Prathyush K <prathyush.k@samsung.com> but rewritten by Doug Anderson <dianders@chromium.org>. Signed-off-by: NPrathyush K <prathyush.k@samsung.com> Signed-off-by: NDoug Anderson <dianders@chromium.org> Tested-by: NTomasz Figa <t.figa@samsung.com> Acked-by: NKukjin Kim <kgene.kim@samsung.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 20 5月, 2013 1 次提交
-
-
由 Heiko Stuebner 提交于
The s3c24xx pins follow a similar pattern as the other Samsung SoCs and can therefore reuse the already introduced infrastructure. The s3c24xx SoCs have one design oddity in that the first 4 external interrupts do not reside in the eint pending register but in the main interrupt controller instead. We solve this by forwarding the external interrupt from the main controller into the irq domain of the pin bank. The masking/acking of these interrupts is handled in the same way. Furthermore the S3C2412/2413 SoCs contain another oddity in that they keep the same 4 eints in the main interrupt controller and eintpend register and requiring ack operations to happen in both. This is solved by using different compatible properties for the wakeup eint node which set a property accordingly. Signed-off-by: NHeiko Stuebner <heiko@sntech.de> Reviewed-by: NTomasz Figa <t.figa@samsung.com> Reviewed-by: NSylwester Nawrocki <s.nawrocki@samsung.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
-
- 18 5月, 2013 1 次提交
-
-
由 Wolfram Sang 提交于
devm_ioremap_resource does sanity checks on the given resource. No need to duplicate this in the driver. Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 09 4月, 2013 6 次提交
-
-
由 Tomasz Figa 提交于
This patch adds pinctrl-s3c64xx driver which implements pin control interface for Samsung S3C64xx SoCs. Signed-off-by: NTomasz Figa <tomasz.figa@gmail.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tomasz Figa 提交于
This patch adds support for banks that have more than one function configuration registers, e.g. some of the banks of S3C64xx SoCs. Signed-off-by: NTomasz Figa <tomasz.figa@gmail.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tomasz Figa 提交于
This patch replaces statically hardcoded register offsets of Exynos SoCs with an array of register offsets in samsung_pin_bank_type struct. Thanks to this change, support for SoCs with other set and order of registers can be added (e.g. S3C24xx and S3C64xx). Signed-off-by: NTomasz Figa <tomasz.figa@gmail.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tomasz Figa 提交于
This patch splits pin bank description into two structures, one describing bank type (currently only bitfield widths), which can be shared across multiple banks and second containing bank-specific parameters including a pointer to a bank type struct. It is a prerequisite for further patch removing the statically hardcoded register offsets, making it impossible to support SoCs with different set and order of pin control registers. Signed-off-by: NTomasz Figa <tomasz.figa@gmail.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tomasz Figa 提交于
Since pinctrl-samsung is a common part of the pin control support for several Samsung SoCs, it can be compiled without Exynos support enabled. This patch surrounds Exynos-specific driver data with ifdefs to include them only when support for Exynos is enabled. Signed-off-by: NTomasz Figa <tomasz.figa@gmail.com> [Fixed up EXYNOS4->EXYNOS] Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tomasz Figa 提交于
Certain pin control registers can be accessed from different contexts, i.e. pinctrl, gpio and irq functions. This makes the locking provided by pin control core insufficient. This patch adds necessary locking using a per bank spinlock as it was done in the old Samsung GPIO driver. Signed-off-by: NTomasz Figa <tomasz.figa@gmail.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 07 3月, 2013 1 次提交
-
-
由 Laurent Pinchart 提交于
The pinconf, pinctrl and pinmux operation structures hold function pointers that are never modified. Declare them as const. Signed-off-by: NLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 05 3月, 2013 1 次提交
-
-
由 Thomas Abraham 提交于
Add Samsung Exynos5250 SoC specific data to enable pinctrl support for all platforms based on Exynos5250. Signed-off-by: NThomas Abraham <thomas.abraham@linaro.org> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Reviewed-by: NTomasz Figa <t.figa@samsung.com> Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
-
- 11 2月, 2013 1 次提交
-
-
由 Jingoo Han 提交于
This patch removes duplicated line of samsung_pinctrl_register(), because the number of pins is redundantly assigned twice. Reviewed-by: NTomasz Figa <t.figa@samsung.com> Acked-by: NKukjin Kim <kgene.kim@samsung.com> Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 29 1月, 2013 1 次提交
-
-
由 Kukjin Kim 提交于
Fix the incorrect compatible property value of pinctrl for EXYNOS4 SoCs. Cc: Thomas Abraham <thomas.ab@samsung.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Cc: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
-
- 23 1月, 2013 1 次提交
-
-
由 Thierry Reding 提交于
Convert all uses of devm_request_and_ioremap() to the newly introduced devm_ioremap_resource() which provides more consistent error handling. devm_ioremap_resource() provides its own error messages so all explicit error messages can be removed from the failure code paths. Signed-off-by: NThierry Reding <thierry.reding@avionic-design.de> Cc: Linus Walleij <linus.walleij@linaro.org> Acked-by: NViresh Kumar <viresh.kumar@linaro.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 04 1月, 2013 1 次提交
-
-
由 Greg Kroah-Hartman 提交于
CONFIG_HOTPLUG is going away as an option. As a result, the __dev* markings need to be removed. This change removes the use of __devinit, __devexit_p, __devinitdata, and __devexit from these drivers. Based on patches originally written by Bill Pemberton, but redone by me in order to handle some of the coding style issues better, by hand. Cc: Bill Pemberton <wfp5p@virginia.edu> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> Cc: Barry Song <baohua.song@csr.com> Cc: Viresh Kumar <viresh.linux@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Cc: Andrew Lunn <andrew@lunn.ch> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 19 12月, 2012 1 次提交
-
-
由 Axel Lin 提交于
I got below build error with random config if CONFIG_PINCTRL_SAMSUNG=y && CONFIG_PINCTRL_EXYNOS5440=y. Fix the build error by making pcfgs static. LD drivers/pinctrl/built-in.o drivers/pinctrl/pinctrl-exynos5440.o: In function `.LANCHOR0': pinctrl-exynos5440.c:(.data+0x54): multiple definition of `pcfgs' drivers/pinctrl/pinctrl-samsung.o:pinctrl-samsung.c:(.data+0x54): first defined here make[2]: *** [drivers/pinctrl/built-in.o] Error 1 make[1]: *** [drivers/pinctrl] Error 2 make: *** [drivers] Error 2 Signed-off-by: NAxel Lin <axel.lin@ingics.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NThomas Abraham <thomas.abraham@linaro.org> Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
-
- 24 11月, 2012 1 次提交
-
-
由 Sachin Kamat 提交于
Static variables are initialised to 0 by GCC. Fixes the following checkpatch error: ERROR: do not initialise statics to 0 or NULL FILE: pinctrl/pinctrl-samsung.c:50: static unsigned int pin_base = 0; Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
-
- 19 11月, 2012 2 次提交
-
-
由 Tushar Behera 提交于
Checking '< 0' for unsigned variables always returns false. For error codes, use IS_ERR_VALUE() instead. Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NTushar Behera <tushar.behera@linaro.org> Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
-
由 Tomasz Figa 提交于
This patch extends the driver with any necessary SoC-specific definitions to support EXYNOS4X12 SoCs. Signed-off-by: NTomasz Figa <t.figa@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Acked-by: NThomas Abraham <thomas.abraham@linaro.org> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
-
- 15 10月, 2012 10 次提交
-
-
由 Tomasz Figa 提交于
Some drivers require a way to translate GPIO pins to their IRQ numbers. This patch adds the .to_irq() gpiolib callback to pinctrl-samsung driver, which creates (if not present yet) and returns an IRQ mapping for given GPIO pin. Signed-off-by: NTomasz Figa <t.figa@samsung.com> Reviewed-by: NKyungmin Park <kyungmin.park@samsung.com> Acked-by: NThomas Abraham <thomas.abraham@linaro.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tomasz Figa 提交于
This patch modifies the pinctrl-samsung driver to register one GPIO chip per pin bank, instead of a single chip for all pin banks of the controller. It simplifies GPIO accesses a lot (constant time instead of looping through the list of banks to find the right one) and should have a good effect on performance of any bit-banging driver. In addition it allows to reference GPIO pins by a phandle to the bank node and a local pin offset inside of the bank (similar to previous gpiolib driver), which is more clear and readable than using indices relative to the whole pin controller. Example: device { /* ... */ gpios = <&gpk0 4 0>; /* ... */ }; Signed-off-by: NTomasz Figa <t.figa@samsung.com> Reviewed-by: NKyungmin Park <kyungmin.park@samsung.com> Acked-by: NThomas Abraham <thomas.abraham@linaro.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tomasz Figa 提交于
Instead of registering one IRQ domain for all pin banks of a pin controller, this patch implements registration of per-bank domains. At a cost of a little memory overhead (~2.5KiB for all GPIO interrupts of Exynos4x12) it simplifies driver code and device tree sources, because GPIO interrupts can be now specified per banks. Example: device { /* ... */ interrupt-parent = <&gpa1>; interrupts = <3 0>; /* ... */ }; Signed-off-by: NTomasz Figa <t.figa@samsung.com> Reviewed-by: NKyungmin Park <kyungmin.park@samsung.com> Acked-by: NThomas Abraham <thomas.abraham@linaro.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tomasz Figa 提交于
This patch is a preparation for converting the pinctrl-samsung driver to one GPIO chip and IRQ domain per bank. It allows one having only a pointer to particular bank struct to access driver data struct. Signed-off-by: NTomasz Figa <t.figa@samsung.com> Reviewed-by: NKyungmin Park <kyungmin.park@samsung.com> Acked-by: NThomas Abraham <thomas.abraham@linaro.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tomasz Figa 提交于
This patch is a preparation for converting the pinctrl-samsung driver to one GPIO chip and IRQ domain per bank. It binds banks defined by internal driver data with bank nodes in device tree. Signed-off-by: NTomasz Figa <t.figa@samsung.com> Reviewed-by: NKyungmin Park <kyungmin.park@samsung.com> Acked-by: NThomas Abraham <thomas.abraham@linaro.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tomasz Figa 提交于
This patch modifies the loop iterating over all child nodes and parsing pin groups to check whether the node is really a pin group node by checking for existence of samsung,pins property. This is a prerequisite for further patches adding additional subnodes to the pinctrl node, required for per bank GPIO and interrupt specifiers. Signed-off-by: NTomasz Figa <t.figa@samsung.com> Reviewed-by: NKyungmin Park <kyungmin.park@samsung.com> Acked-by: NThomas Abraham <thomas.abraham@linaro.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tomasz Figa 提交于
This patch modifies the pinctrl-samsung driver to assign numbers to pins dynamically instead of static enumerations. Thanks to this change the amount of code requried to support a SoC can be greatly reduced and the code made more readable. Signed-off-by: NTomasz Figa <t.figa@samsung.com> Reviewed-by: NKyungmin Park <kyungmin.park@samsung.com> Acked-by: NThomas Abraham <thomas.abraham@linaro.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tomasz Figa 提交于
The pointer to gpio_chip passed to pin_to_reg_bank utility function is used only to retrieve a pointer to samsung_pinctrl_drv_data structure. This patch modifies the function and its users to pass a pointer to samsung_pinctrl_drv_data directly. Signed-off-by: NTomasz Figa <t.figa@samsung.com> Reviewed-by: NKyungmin Park <kyungmin.park@samsung.com> Acked-by: NThomas Abraham <thomas.abraham@linaro.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tomasz Figa 提交于
This patch modifies the pinctrl-samsung driver to detect when width of a bit field is set to zero (which means that such configuraton type is not supported) and return an error instead of trying to modify an inexistent register. Signed-off-by: NTomasz Figa <t.figa@samsung.com> Reviewed-by: NKyungmin Park <kyungmin.park@samsung.com> Acked-by: NThomas Abraham <thomas.abraham@linaro.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Arnd Bergmann 提交于
The samsung pinctrl driver has a probe function that is __devinit and that calls a lot of other functions that are marked __init, which kbuild complains about. Marking everything __devinit means that the code does not discarded when CONFIG_HOTPLUG is set, which is a little more wasteful, but also more consistent Without this patch, building exynos_defconfig results in: WARNING: drivers/pinctrl/built-in.o(.devinit.text+0x124): Section mismatch in reference from the function samsung_pinctrl_probe() to the function .init.text:samsung_gpiolib_register() The function __devinit samsung_pinctrl_probe() references a function __init samsung_gpiolib_register(). If samsung_gpiolib_register is only used by samsung_pinctrl_probe then annotate samsung_gpiolib_register with a matching annotation. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Cc: Thomas Abraham <thomas.abraham@linaro.org> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Stephen Warren <swarren@nvidia.com> Cc: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 21 9月, 2012 1 次提交
-
-
由 Tomasz Figa 提交于
Although the function is used only a single time, it is not performance critical and it is pretty heavy, so let the compiler decide whether to inline it instead. Signed-off-by: NTomasz Figa <t.figa@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
-
- 07 9月, 2012 1 次提交
-
-
由 Thomas Abraham 提交于
Add a new device tree enabled pinctrl and gpiolib driver for Samsung SoC's. This driver provides a common and extensible framework for all Samsung SoC's to interface with the pinctrl and gpiolib subsystems. This driver supports only device tree based instantiation and hence can be used only on those Samsung platforms that have device tree enabled. This driver is split into two parts: the pinctrl interface and the gpiolib interface. The pinctrl interface registers pinctrl devices with the pinctrl subsystem and gpiolib interface registers gpio chips with the gpiolib subsystem. The information about the pins, pin groups, pin functions and gpio chips, which are SoC specific, are parsed from device tree node. Signed-off-by: NThomas Abraham <thomas.abraham@linaro.org> Reviewed-by: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
-