platform/core/api/peripheral-io.git
3 years agogpio: don't allow direction change if there is poll/callback set 56/261656/5
Adrian Szyndela [Thu, 22 Jul 2021 06:53:12 +0000 (08:53 +0200)]
gpio: don't allow direction change if there is poll/callback set

This was missing. The function that sets the callback
(peripheral_gpio_set_interrupted_cb())
exits with error if the direction is not "in". Therefore,
the callback makes sense only when the direction is "in".
Therefore, we don't want to allow changing the direction if there
is a callback set.

Change-Id: Ib21746ee4c32706a4114a76fbd0f6bd80bc9b787

3 years agogpio: import new kernel API 46/262446/3
Mateusz Majewski [Wed, 11 Aug 2021 05:38:55 +0000 (07:38 +0200)]
gpio: import new kernel API

Import the kernel header representing the new GPIO kernel API.

For the record, this file comes from the
git://git.tizen.org/platform/kernel/linux-rpi3.git repository, from the
cec42e0a4e9704d1f428e96cb4f5e1902a6e2b11 commit.

Change-Id: I043cf329864f9f0892ed42c196b27c4f0be8df3c

3 years agouart: allow whitespace in config 54/261754/1 submit/tizen/20210805.103313
Adrian Szyndela [Fri, 23 Jul 2021 11:39:20 +0000 (13:39 +0200)]
uart: allow whitespace in config

Add spaces to the format string on the sides of the '=' char, to allow
any amount of whitespace, including none.
For example, all below lines are valid now:
17=/dev/ttyS0
17 =/dev/ttyS0
17= /dev/ttyS0
17 = /dev/ttyS0
17       =     /dev/ttyS0

Change-Id: I3369880b89ba865c3b3638f9874788a7eaf60580

3 years agoRemove GIO 04/261504/1
Mateusz Majewski [Tue, 20 Jul 2021 07:53:02 +0000 (09:53 +0200)]
Remove GIO

It seems we only needed it for GDbus.

Change-Id: Id50176585159085ec4d0013c1337c8fbbeb8079f

3 years agotest: add performance tests 47/260847/1
Adrian Szyndela [Mon, 5 Jul 2021 11:52:38 +0000 (13:52 +0200)]
test: add performance tests

Change-Id: Idd8f4989e4d630ca13f9d1c81cf5c7ba6ec70084

3 years agouart: try to open uart based on uart.ini 53/260753/2 accepted/tizen/unified/20210705.125135 submit/tizen/20210705.023617
Youngjae Cho [Fri, 2 Jul 2021 06:19:20 +0000 (15:19 +0900)]
uart: try to open uart based on uart.ini

Now try once to find which devpath corresponds to a port number. It is
specified in /hal/etc/peripheral-io/uart.ini. For example, if the
uart.ini contains
  [UART]
  0=/dev/ttyS0
then it returns "/dev/ttyS0" as devpath of the port number 0.
If the above process fail, follow normal opening routine.

Change-Id: Icec9d6601387f7f135b6e1a8692915553014ae8c
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
3 years agopwm: fix potential segfault 90/260690/3
Youngjae Cho [Thu, 1 Jul 2021 06:48:33 +0000 (15:48 +0900)]
pwm: fix potential segfault

Change-Id: I304ccf87409fea57abcde3329693416891a92ed8
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
3 years agoLinting: buffer size safety 11/260611/2
Michal Bloch [Tue, 29 Jun 2021 18:34:57 +0000 (20:34 +0200)]
Linting: buffer size safety

Make sure the buffer's actual size is used. This safeguards against
somebody changing the size of the buffer but forgetting to change
the value that gets passed as its size to other functions.

Change-Id: I12c78acf56daf55a785e9c994ca70ed34a38a1de

3 years agoLinting: improve some loop code 10/260610/2
Michal Bloch [Tue, 29 Jun 2021 18:33:04 +0000 (20:33 +0200)]
Linting: improve some loop code

Prevent signed/unsigned comparison in the loop condition
and reduce pyramidity.

Change-Id: I20a24f37810726d08a60a2791d1e2f8d7695b962

3 years agoLinting: storage and const correctness 09/260609/2
Michal Bloch [Tue, 29 Jun 2021 18:22:46 +0000 (20:22 +0200)]
Linting: storage and const correctness

Change-Id: I0c52f2e1e0642e1bbb48d3a02cb7f4cec6991747
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
3 years agoMinor improvements to the udev polling loop. 08/260608/2
Michal Bloch [Tue, 29 Jun 2021 18:17:54 +0000 (20:17 +0200)]
Minor improvements to the udev polling loop.

Change-Id: I068e2cbfe0243221f879961bb19ae8ea5e9b65f3

3 years agoLinting: improve variable scoping 07/260607/2
Michal Bloch [Tue, 29 Jun 2021 18:03:43 +0000 (20:03 +0200)]
Linting: improve variable scoping

Declare variables at their first site of use where possible, especially
those with the cleanup attribute, but also some arrays that have to be
zeroed before use. This way we won't have wasted time preparing them if
an earlier step fails.

Change-Id: Ic46bdd38915f709bac37c7bfff9ba6dcb19f7657

3 years agoLinting: reduce type repetition 06/260606/2
Michal Bloch [Tue, 29 Jun 2021 17:52:50 +0000 (19:52 +0200)]
Linting: reduce type repetition

Makes sure that the pointer and the pointee have the same type,
which is both less error-prone and more convenient.

Change-Id: I48887b4594a4bf2fcb2816f32ce4bc1e24bcffa8
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
3 years agoAdd .gitignore 22/260622/1
Hyotaek Shim [Wed, 30 Jun 2021 02:04:26 +0000 (11:04 +0900)]
Add .gitignore

Change-Id: Ife812dcdcee519dee22ec99b38616e8405f2c5eb
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
3 years agoRemove Conflicts: peripheral-bus to fix MIC errors 21/260621/2 accepted/tizen/unified/20210630.015242 submit/tizen/20210630.020200
Hyotaek Shim [Wed, 30 Jun 2021 01:59:40 +0000 (10:59 +0900)]
Remove Conflicts: peripheral-bus to fix MIC errors

Change-Id: I4d6435989b48c669330fae2f598790a51b6e73d0
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
3 years ago0.2.0: allow direct IO for clients in priv_peripheralio group 34/260034/5 accepted/tizen/unified/20210630.005908 submit/tizen/20210629.012223 submit/tizen/20210629.111329
Karol Lewandowski [Thu, 17 Jun 2021 22:38:19 +0000 (00:38 +0200)]
0.2.0: allow direct IO for clients in priv_peripheralio group

The priv_periperalio will be granted automatically for all apps having the
http://tizen.org/privilege/peripheralio privilege.

This bumps up the release number to 0.2.0.

Change-Id: I35bb10d72820c5696aed6842fd2ee92a51aa9bab

3 years agoAdd API function to open UART device with flags 38/260538/1 submit/tizen/20210629.011533
Adrian Szyndela [Mon, 28 Jun 2021 11:43:00 +0000 (13:43 +0200)]
Add API function to open UART device with flags

Extract translation from peripheral_open_flags to flock()'s lock type.

Change-Id: Ifcb933a70c30f077b55facd3f78ea5c3c47298e9

3 years agoname magic numbers in poll() calls 21/260521/3
Adrian Szyndela [Mon, 28 Jun 2021 07:55:22 +0000 (09:55 +0200)]
name magic numbers in poll() calls

It probably does not help much as it does not explain intentions.
They stay with the original authors of this code.

However, I believe it is a small step in the right direction.

Change-Id: I236a9b2b3dabb712ad7b1d0b6a8b1b33dd1e0230

3 years agorefactoring: beautify snprintf formats 00/260500/3
Adrian Szyndela [Fri, 25 Jun 2021 14:07:07 +0000 (16:07 +0200)]
refactoring: beautify snprintf formats

Change-Id: I40fe25dd18dc87e38dd522b6b1614ae7fd6a6465

3 years agorefactoring: extract common udev code 99/260499/3
Adrian Szyndela [Fri, 25 Jun 2021 13:14:35 +0000 (15:14 +0200)]
refactoring: extract common udev code

Change-Id: I40e73a8b266e634a1d51b4d1e010d4ecbf43e2a0

3 years agorefactoring: extract common code 98/260498/2
Adrian Szyndela [Fri, 25 Jun 2021 13:08:20 +0000 (15:08 +0200)]
refactoring: extract common code

Extract generic flocks.
Extract ARRAY_SIZE.
Extract close_fd.
Extract MAX_d_FMT.

Change-Id: I1f165414e95c0c3d4ac5c7e21b70896b8ae4a288

3 years agorefactoring: extract system_info feature handling 97/260497/1
Adrian Szyndela [Fri, 25 Jun 2021 12:51:13 +0000 (14:51 +0200)]
refactoring: extract system_info feature handling

Change-Id: I9ee561f1ba9498e8660555ec93dbae691b0b7287

3 years agoi2c: extract ioctl setup to separate function 30/260430/4
Adrian Szyndela [Thu, 24 Jun 2021 15:09:11 +0000 (17:09 +0200)]
i2c: extract ioctl setup to separate function

Change-Id: Id1af5824d0b25600bb0387b2008dae3ff290dcc5

3 years agomove and remove private headers 55/260355/6
Adrian Szyndela [Wed, 23 Jun 2021 15:17:50 +0000 (17:17 +0200)]
move and remove private headers

Leave only public header in include/.
Remove peripheral_handle.h by moving struct definitions into
respective source files.

Change-Id: I7a5042fbf68667499a1247bc8efcf704447e1d4d

3 years agopwm: flatten structure - remove 'interface' 54/260354/7
Adrian Szyndela [Wed, 23 Jun 2021 14:44:13 +0000 (16:44 +0200)]
pwm: flatten structure - remove 'interface'

Merge src/peripheral_pwm.c with src/interface/peripheral_interface_pwm.c,
with additions from include/interface/peripheral_interface_pwm.h.

Change-Id: Ic5343b93d9bd9ce01d22a7d8841c825a99611d96

3 years agoremove gdbus remainings 53/260353/7
Adrian Szyndela [Wed, 23 Jun 2021 14:33:37 +0000 (16:33 +0200)]
remove gdbus remainings

Change-Id: I5a527db12075b70b9c9cf092199ead6726dccc01

3 years agopwm: replace gdbus with direct implementation 52/260352/7
Adrian Szyndela [Wed, 23 Jun 2021 14:28:02 +0000 (16:28 +0200)]
pwm: replace gdbus with direct implementation

Move open/close code from peripheral-bus.
Add flocks() where appropriate.

Change-Id: If2554f2d30389836eb39794dffaf9e34df31176a

3 years agogpio: flatten structure - remove 'interface' 57/260257/5
Adrian Szyndela [Tue, 22 Jun 2021 14:28:06 +0000 (16:28 +0200)]
gpio: flatten structure - remove 'interface'

Merge src/peripheral_gpio.c with src/interface/peripheral_interface_gpio.c,
with additions from include/interface/peripheral_interface_gpio.h.

Change-Id: I45f9eda5cf4ab47995db43bf934ab7176670b867

3 years agogpio: replace gdbus with direct implementation 56/260256/5
Adrian Szyndela [Tue, 22 Jun 2021 10:51:37 +0000 (12:51 +0200)]
gpio: replace gdbus with direct implementation

Move open/close code from peripheral-bus.
Add flocks() where appropriate.

Change-Id: Ib54d4b8dbf4dcd7a1300b6c48ec8207fbbce2476

3 years agoadc: flatten structure - remove 'interface' 98/259798/5
Adrian Szyndela [Mon, 14 Jun 2021 08:48:14 +0000 (10:48 +0200)]
adc: flatten structure - remove 'interface'

Merge src/peripheral_adc.c with src/interface/peripheral_interface_adc.c,
with additions from include/interface/peripheral_interface_adc.h.

Change-Id: I95f03beb77a35b9f1c2d3f82f3d0590737cea59c

3 years agoadc: replace gdbus with direct implementation 97/259797/4
Adrian Szyndela [Mon, 14 Jun 2021 08:44:20 +0000 (10:44 +0200)]
adc: replace gdbus with direct implementation

Move open/close code from peripheral-bus.
Add flocks() where appropriate.

Change-Id: I696c87502d606b54a483f72990b57acf2904bb72

3 years agouart: flatten structure - remove 'interface' 58/259758/7
Adrian Szyndela [Fri, 11 Jun 2021 13:29:28 +0000 (15:29 +0200)]
uart: flatten structure - remove 'interface'

Merge src/peripheral_uart.c with src/interface/peripheral_interface_uart.c.

Change-Id: I1fdb5a0fb7c23a18bf591911a47eba1314246e91

3 years agouart: replace gdbus with direct implementation 57/259757/7
Adrian Szyndela [Fri, 11 Jun 2021 13:17:12 +0000 (15:17 +0200)]
uart: replace gdbus with direct implementation

Move open/close code from peripheral-bus.
Add flocks() where appropriate.

Change-Id: Ia74be68f4acad0a9a494c82ca6183077cc804e49

3 years agospi: flatten structure - remove 'interface' 56/259756/7
Adrian Szyndela [Fri, 11 Jun 2021 12:59:27 +0000 (14:59 +0200)]
spi: flatten structure - remove 'interface'

Merge src/peripheral_spi.c with src/interface/peripheral_interface_spi.c.

Change-Id: I9b45addfafe7c71e99cbd7797069df6f98fc69ec

3 years agospi: replace gdbus with direct implementation 55/259755/6
Adrian Szyndela [Fri, 11 Jun 2021 12:50:22 +0000 (14:50 +0200)]
spi: replace gdbus with direct implementation

Move open/close code from peripheral-bus.
Add flocks() where appropriate.

Change-Id: Id68566050afd74f1b6d0e42a87e239150ce4364f

3 years agoi2c: flatten structure - remove 'interface' 49/259749/6
Adrian Szyndela [Fri, 11 Jun 2021 11:09:26 +0000 (13:09 +0200)]
i2c: flatten structure - remove 'interface'

Merge src/peripheral_i2c.c with src/interface/peripheral_interface_i2c.c,
with additions from include/interface/peripheral_interface_i2c.h.

Change-Id: I4c0646d7b78b6753c929cb66fe2a696b4eab7ba9

3 years agoi2c: replace gdbus with direct implementation 44/259744/6
Adrian Szyndela [Wed, 9 Jun 2021 09:23:25 +0000 (11:23 +0200)]
i2c: replace gdbus with direct implementation

Move open/close code from peripheral-bus.
Add flocks() where appropriate.

Change-Id: I57bffbe463cacf2674484e8d8cf8fadfe672218f

3 years agoAdd API function to open i2c device with flags 34/259134/3 accepted/tizen/unified/20210607.124325 submit/tizen/20210607.045229
Karol Lewandowski [Tue, 1 Jun 2021 09:48:02 +0000 (11:48 +0200)]
Add API function to open i2c device with flags

Flags are going to be checked on the service side.

Change-Id: Ie7ee17a06ad76a7366236122a1a42c29dbbc56bd

3 years agoAdd information about GPIO pin value in callback. 67/255967/5 accepted/tizen/unified/20210413.021248 submit/tizen/20210412.185901
Ernest Borowski [Thu, 25 Mar 2021 16:16:35 +0000 (16:16 +0000)]
Add information about GPIO pin value in callback.

Change-Id: Ibc6ddc9c094b488236706cf2b9455c251b60f3ce
Signed-off-by: Ernest Borowski <e.borowski@samsung.com>
3 years agogdbus: Check pointer before dereference 34/253934/1 accepted/tizen/unified/20210222.215243 submit/tizen/20210219.120309
Konrad Kuchciak [Fri, 19 Feb 2021 11:16:18 +0000 (12:16 +0100)]
gdbus: Check pointer before dereference

Change-Id: I2093875c5de833536573a16af7afb23af9629753

3 years agodocs: Fix docs.tizen.org URLs 21/248921/1
Konrad Kuchciak [Thu, 3 Dec 2020 07:59:06 +0000 (08:59 +0100)]
docs: Fix docs.tizen.org URLs

Change-Id: I060c9cd1f53a8ea4c40128148cad9cabd50bb7f9

3 years agodocs: Change developer.tizen.org to docs.tizen.org 90/248690/1 submit/tizen/20201201.110307
Konrad Kuchciak [Tue, 1 Dec 2020 10:53:08 +0000 (11:53 +0100)]
docs: Change developer.tizen.org to docs.tizen.org

Change-Id: I86be1688252311b5922a54237cb9a1dce0a21417

4 years agouart: Fix read and write functions 29/239429/3
Konrad Kuchciak [Fri, 24 Jul 2020 12:34:03 +0000 (14:34 +0200)]
uart: Fix read and write functions

Return number of bytes read/written to fulfill declaration
given in docs.

Change-Id: I81e229a1b719c9370ed97d38316fbef8e712bba5

4 years agotest: Add skip test functionality 59/236959/7 accepted/tizen_6.0_unified accepted/tizen_6.0_unified_hotfix tizen_6.0_hotfix accepted/tizen/6.0/unified/20201030.121328 accepted/tizen/6.0/unified/hotfix/20201103.003528 accepted/tizen/6.0/unified/hotfix/20201103.050258 accepted/tizen/unified/20200812.143924 submit/tizen/20200811.122142 submit/tizen_6.0/20201029.205102 submit/tizen_6.0_hotfix/20201102.192502 submit/tizen_6.0_hotfix/20201103.114802 tizen_6.0.m2_release
Wiktor Gerstenstein [Thu, 25 Jun 2020 12:29:00 +0000 (14:29 +0200)]
test: Add skip test functionality

- add static array with function names to skip

Change-Id: Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf5c

4 years agotest bugfix: check invalid function results in SPI tests 61/236961/2
Wiktor Gerstenstein [Tue, 23 Jun 2020 16:32:50 +0000 (18:32 +0200)]
test bugfix:  check invalid function results in SPI tests

Change-Id: I5b254a97e0df869666420c031fe10e122961d79c

4 years agotest: Init each test individually 36/231836/3
Konrad Kuchciak [Fri, 24 Apr 2020 10:42:41 +0000 (12:42 +0200)]
test: Init each test individually

Change-Id: I2d26dbfa63f3d454a6cc30330ac5327468ecae58
Signed-off-by: Konrad Kuchciak <k.kuchciak@samsung.com>
4 years agoBuild with gcov 25/231825/1
Konrad Kuchciak [Fri, 24 Apr 2020 09:33:06 +0000 (11:33 +0200)]
Build with gcov

 - build with gcov when --define "gcov 1" option is passed to gbs

Change-Id: I1997b14b8330eca41b5e8f2599b3b606b78ccb26
Signed-off-by: Konrad Kuchciak <k.kuchciak@samsung.com>
4 years agotest: search for i2c bus exposed by SMBus stub driver 27/224027/2 accepted/tizen/unified/20200217.213905 submit/tizen/20200214.101934 submit/tizen/20200217.095901
Konrad Kuchciak [Wed, 5 Feb 2020 16:50:49 +0000 (17:50 +0100)]
test: search for i2c bus exposed by SMBus stub driver

Change-Id: I1863416c93149bad73adaba734e5f2fc2c1fe16f

5 years agogpio: init pin after export 62/214162/1 accepted/tizen_5.5_unified accepted/tizen_5.5_unified_mobile_hotfix accepted/tizen_5.5_unified_wearable_hotfix tizen_5.5_mobile_hotfix tizen_5.5_tv tizen_5.5_wearable_hotfix accepted/tizen/5.5/unified/20191031.025744 accepted/tizen/5.5/unified/mobile/hotfix/20201027.064158 accepted/tizen/5.5/unified/wearable/hotfix/20201027.120549 accepted/tizen/unified/20190923.225255 submit/tizen/20190923.102122 submit/tizen/20190923.125435 submit/tizen_5.5/20191031.000002 submit/tizen_5.5_mobile_hotfix/20201026.185102 submit/tizen_5.5_wearable_hotfix/20201026.184302 tizen_5.5.m2_release
Konrad Kuchciak [Wed, 18 Sep 2019 11:58:46 +0000 (13:58 +0200)]
gpio: init pin after export

This will fully initialize the pin.
The problem is that edge attribute cannot be modified without explicitly
defining pin's direction after boot.
It seems like a kernel issue. This is just a workaround.

Change-Id: I6c9a2c8d20757c3f9d04779a820015c839b8ea5c
Signed-off-by: Konrad Kuchciak <k.kuchciak@samsung.com>
5 years agopio: don't return from close function too early 12/199412/3 accepted/tizen/unified/20190214.154127 submit/tizen/20190213.063316
Konrad Kuchciak [Mon, 11 Feb 2019 07:45:18 +0000 (08:45 +0100)]
pio: don't return from close function too early

We need to reach the end of the peripheral_xxx_close function in order
to free handle structure.

Change-Id: I51cf86a106397d52773875efe60424f662373c0f
Signed-off-by: Konrad Kuchciak <k.kuchciak@samsung.com>
5 years agogpio,adc: use pread instead of lseek + read 11/199411/3
Konrad Kuchciak [Mon, 11 Feb 2019 07:39:44 +0000 (08:39 +0100)]
gpio,adc: use pread instead of lseek + read

Change-Id: Ibfcffb46715e55d28a3c17749101158e4dbd48e2
Signed-off-by: Konrad Kuchciak <k.kuchciak@samsung.com>
6 years agogpio: make read function threadsafe 45/190645/1
Konrad Kuchciak [Thu, 4 Oct 2018 10:06:55 +0000 (12:06 +0200)]
gpio: make read function threadsafe

A new thread is created when setting interrupted callback on gpio pin,
which is polling and reading in loop. Reading at the same time from main
thread makes race condition as it is doing lseek() and read() on static
variable gpio->fd_value. This is fixed by adding mutex to
peripheral_gpio_read().

Change-Id: I55508fc36b91993226b373d460407c40d551276f
Signed-off-by: Konrad Kuchciak <k.kuchciak@samsung.com>
6 years agogpio: don't ignore return codes when setting/unsetting interrupted cb 44/190644/1
Konrad Kuchciak [Thu, 4 Oct 2018 09:54:36 +0000 (11:54 +0200)]
gpio: don't ignore return codes when setting/unsetting interrupted cb

Change-Id: Iaf3be22ee5939b6ff8ed239a803eabddd57e21dc
Signed-off-by: Konrad Kuchciak <k.kuchciak@samsung.com>
6 years agoadc: fix adc_read_n2 test case 32/188332/1 accepted/tizen/unified/20181031.153942 submit/tizen/20180907.001350 submit/tizen/20180924.110450 submit/tizen/20181010.111134 submit/tizen/20181022.095331 submit/vip/20181010.110708
Konrad Kuchciak [Tue, 4 Sep 2018 04:37:17 +0000 (06:37 +0200)]
adc: fix adc_read_n2 test case

Change-Id: I408ea83f787a5f48f883a3455dc660f1a7039d9e
Signed-off-by: Konrad Kuchciak <k.kuchciak@samsung.com>
6 years agoAdd API for the adc device 13/184513/7 accepted/tizen_5.0_unified accepted/tizen/5.0/unified/20181102.013255 accepted/tizen/unified/20180822.164537 submit/tizen/20180821.133358 submit/tizen_5.0/20181101.000002
Konrad Kuchciak [Wed, 18 Jul 2018 09:56:23 +0000 (11:56 +0200)]
Add API for the adc device

This commit adds support for the adc device.
For this to work, adc also has to be supported by peripheral-bus.

Change-Id: I3277815fde9e6b82e5d165ccb5003b11f505f0e9
Signed-off-by: Konrad Kuchciak <k.kuchciak@samsung.com>
6 years agogpio: fix documentation errors 52/186652/4
Konrad Kuchciak [Mon, 13 Aug 2018 06:18:00 +0000 (08:18 +0200)]
gpio: fix documentation errors

* Added '#' before enums to automatically create links in the HTML
documentation.
* Added description of errors received in GPIO interrupted callback

Change-Id: Idb818c52708b1e73de594f1b7ac77c09cda71534
Signed-off-by: Konrad Kuchciak <k.kuchciak@samsung.com>
6 years agopio: deliver user data to gpio interrupted callback function 00/170300/1 accepted/tizen/unified/20180219.142443 submit/tizen/20180219.102234
kibak.yoon [Mon, 19 Feb 2018 03:42:04 +0000 (12:42 +0900)]
pio: deliver user data to gpio interrupted callback function

Change-Id: Ib0048d8031a5799e0a495adafdbc4f824e117801
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
6 years agoMerge "doxygen: give additional prerequisites information for set APIs" into tizen
Segwon [Fri, 5 Jan 2018 03:58:40 +0000 (03:58 +0000)]
Merge "doxygen: give additional prerequisites information for set APIs" into tizen

6 years agogpio: fix to free a handle when peripheral_gdbus_gpio_close() is failed 43/165643/1 accepted/tizen/unified/20180103.151843 submit/tizen/20180103.062104
Segwon [Wed, 3 Jan 2018 04:22:51 +0000 (13:22 +0900)]
gpio: fix to free a handle when peripheral_gdbus_gpio_close() is failed

Change-Id: Ibab4d38a57e91b11f2c5a6e1b21e94d2c6e40eed
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agogpio: enhance the interrupted callback thread safty 41/165641/1
Segwon [Wed, 3 Jan 2018 03:10:20 +0000 (12:10 +0900)]
gpio: enhance the interrupted callback thread safty

Change-Id: Ib9374b0a62bdf7d8d71604365637d0dfacab69b6
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agogpio: do not join if the thread is null 36/165636/2
Segwon [Wed, 3 Jan 2018 03:00:19 +0000 (12:00 +0900)]
gpio: do not join if the thread is null

Change-Id: Ib1dafd777acaa7da520ac7aae050a05b1d607dca
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agopio: free the memory allocated by system_info_get_platform_string() 96/165596/2
kibak.yoon [Tue, 2 Jan 2018 09:17:53 +0000 (18:17 +0900)]
pio: free the memory allocated by system_info_get_platform_string()

Change-Id: Ibccb1798db42ac207ecb5f9d95858919b40371c6
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
6 years agopio: return error when open is failed 95/165595/1
kibak.yoon [Tue, 2 Jan 2018 08:16:54 +0000 (17:16 +0900)]
pio: return error when open is failed

- to prevent explicite null dereferenced, error should be returned when
  open is failed.

Change-Id: I645dec3879d54d43edec1ba52ace84af6c86b180
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
6 years agodoxygen: give additional prerequisites information for set APIs 47/165247/1
Segwon [Wed, 27 Dec 2017 08:13:59 +0000 (17:13 +0900)]
doxygen: give additional prerequisites information for set APIs

Change-Id: If1a69bdfb93ef06f1f1c6734850dbafe75ff5c20
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agointerface: add return type EINVAL in CHECK_ERROR 52/164452/4 accepted/tizen/unified/20171221.071344 submit/tizen/20171220.125854 submit/tizen/20171221.025332
Segwon [Tue, 19 Dec 2017 06:38:30 +0000 (15:38 +0900)]
interface: add return type EINVAL in CHECK_ERROR

Change-Id: I7dfb65fb371c428a7ef2f030cb5711bfb9d221af
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agospi: exclude the positive value in the ioctl error check, becasue of the ioctl return... 51/164451/1
Segwon [Tue, 19 Dec 2017 06:31:25 +0000 (15:31 +0900)]
spi: exclude the positive value in the ioctl error check, becasue of the ioctl return length

Change-Id: If7d4d517c519f6d41c6bde7a7716edda4cd6a25a
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agogpio: add interrupted callback 92/164192/5
Segwon [Mon, 18 Dec 2017 02:42:48 +0000 (11:42 +0900)]
gpio: add interrupted callback

Change-Id: I6d8d2b3e6382e3ecc2ebbc7cee8747fc2290fae9
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agogpio: enhance exception handling in interface function 94/163994/4
Segwon [Thu, 14 Dec 2017 11:13:04 +0000 (20:13 +0900)]
gpio: enhance exception handling in interface function

 - GPIO set type functions require prerequisites

 1) [edge_mode]                [direction]

    none ----------------------> in, out (O)

    rising, falling, both -----> in (O)
                           \
                            ---> out (X)

 2) [direction]                [edge_mode]

    in ------------------------> none, rising, falling, both (O)

    out -----------------------> none (O)
              \
               ----------------> rising, falling, both (X)

 3) [direction]                [value]

    in ------------------------> read (O)
              \
               ----------------> write (X)

    out -----------------------> read, write (O)

Change-Id: I72f8557568916b01c1e2e9edef79ed79f5bb20e6
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agogpio: set initially edge_mode and direction in handle 85/163985/6
Segwon [Thu, 14 Dec 2017 11:05:12 +0000 (20:05 +0900)]
gpio: set initially edge_mode and direction in handle

Change-Id: Ie9c50a3d680562c9f573ee006b816a3960096c46
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agogdbus: communicate via gdbus when close 40/163240/3
Segwon [Fri, 8 Dec 2017 05:57:20 +0000 (14:57 +0900)]
gdbus: communicate via gdbus when close

Change-Id: Ieae106a611e8409c50996b68c08fcdbd3506d70b
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agotest: fix to wrong number of i2c bus 41/162541/2
Segwon [Mon, 4 Dec 2017 06:56:09 +0000 (15:56 +0900)]
test: fix to wrong number of i2c bus

Change-Id: Ifcd09204d585070d303eff86e73738772fbf2ab2
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agouart: flush the uart buffer when setting the flow control 31/160531/2
Segwon [Thu, 16 Nov 2017 14:35:59 +0000 (23:35 +0900)]
uart: flush the uart buffer when setting the flow control

Change-Id: Ie1c2609a243242ded2ecc1e4411ca07231a784b9
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agoi2c: try to call ioctl() to test i2c-stub when read()/write() is failed 26/160526/1
Segwon [Thu, 16 Nov 2017 14:20:55 +0000 (23:20 +0900)]
i2c: try to call ioctl() to test i2c-stub when read()/write() is failed

Change-Id: I71688ff99689de8b73d74166f0b8ef9cf1ebde67
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years ago[6/6] fd passing: replace to interface functions 23/160523/4
Segwon [Thu, 16 Nov 2017 12:23:40 +0000 (21:23 +0900)]
[6/6] fd passing: replace to interface functions

 - since return value of close interface function is meaningless, return type is modified to void.

Change-Id: I3ef4298ac5a47db29697bdbbca97ecfbc0e20a57
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agogpio: unuse pin in gpio handle 09/160509/1
Segwon [Thu, 16 Nov 2017 11:24:21 +0000 (20:24 +0900)]
gpio: unuse pin in gpio handle

Change-Id: I13df7070d2647a36752d46966bdb2fc71a2facfe
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agoerror: return a recongnizable error value 89/160489/1
Segwon [Thu, 16 Nov 2017 09:09:07 +0000 (18:09 +0900)]
error: return a recongnizable error value

 - unclear PERIPHERAL_ERROR_UNKNOWN error is returning too much
 - change linux error type usage to error value defined by peripheral_io

Signed-off-by: Segwon <segwon.han@samsung.com>
Change-Id: I3196ed16afafa3a83ba5362287d7281dcd255192

6 years agointerface: remove unused constants defined from #define 49/160449/1
Segwon [Thu, 16 Nov 2017 07:46:26 +0000 (16:46 +0900)]
interface: remove unused constants defined from #define

Signed-off-by: Segwon <segwon.han@samsung.com>
Change-Id: Ie8f111ae53ea28e2c013e9e96a829d4d249a87ad

6 years agointerface: fix the CHECK_ERROR macro to receive various conditions 45/160445/1
Segwon [Thu, 16 Nov 2017 07:15:19 +0000 (16:15 +0900)]
interface: fix the CHECK_ERROR macro to receive various conditions

Signed-off-by: Segwon <segwon.han@samsung.com>
Change-Id: Iac30913f44ba239365a37e0dd9050623ea3f8d91

6 years agointerface: do not use the 'strlen' and 'strncmp' 27/160427/2
Segwon [Thu, 16 Nov 2017 06:09:39 +0000 (15:09 +0900)]
interface: do not use the 'strlen' and 'strncmp'

Signed-off-by: Segwon <segwon.han@samsung.com>
Change-Id: I5113aff8d544f2e5411dbb3d158313c5e4dece2f

6 years agopackaging: expose only peripheral_io.h(API) at devel rpm 09/160409/2
Segwon [Thu, 16 Nov 2017 05:25:24 +0000 (14:25 +0900)]
packaging: expose only peripheral_io.h(API) at devel rpm

Signed-off-by: Segwon <segwon.han@samsung.com>
Change-Id: I39f1e6a90bd774a73a2508a43b8dffc8869d86a3

6 years agocoding style: cannot put parameter in function defined to have no parameter. 08/160408/1
Segwon [Thu, 16 Nov 2017 05:19:19 +0000 (14:19 +0900)]
coding style: cannot put parameter in function defined to have no parameter.

 - function() -> function(void)

Signed-off-by: Segwon <segwon.han@samsung.com>
Change-Id: I896916b02f45bdb84ed8120b3fb7273677ace9e1

6 years agointerface: do not close request to daemon by gdbus. 02/160402/1
Segwon [Thu, 16 Nov 2017 05:03:25 +0000 (14:03 +0900)]
interface: do not close request to daemon by gdbus.

 - daemon will be detect gdbus disconnection by g_bus_watch_name()

Signed-off-by: Segwon <segwon.han@samsung.com>
Change-Id: Id9882a8b576b9110eb21aa66a94b3fa7e9c4b14c

6 years agointerface: remove +1 length when writing a char array 95/160395/1
Segwon [Thu, 16 Nov 2017 04:15:27 +0000 (13:15 +0900)]
interface: remove +1 length when writing a char array

Signed-off-by: Segwon <segwon.han@samsung.com>
Change-Id: I7bbbe2f8698ee1fb90268af6f6ca8c0eaf8edb38

6 years agospi: fix a build error due to missed before patch 92/160392/1
Segwon [Thu, 16 Nov 2017 04:10:10 +0000 (13:10 +0900)]
spi: fix a build error due to missed before patch

Signed-off-by: Segwon <segwon.han@samsung.com>
Change-Id: I34d0b37fab426cae2cc0210ca7a9a7b8101a5598

6 years agoi2c: replace 'i2c_smbus_ioctl()' with another functions. 81/160281/1
Segwon [Wed, 15 Nov 2017 07:55:08 +0000 (16:55 +0900)]
i2c: replace 'i2c_smbus_ioctl()' with another functions.

 - do not use 'i2c_smbus_ioctl_data' structure in caller.
 - remove : i2c_smbus_ioctl()
 - add : peripheral_interface_i2c_read_register_byte()
 - add : peripheral_interface_i2c_write_register_byte()
 - add : peripheral_interface_i2c_read_register_word()
 - add : peripheral_interface_i2c_write_register_word()

Change-Id: Ia73f3febcf1412a5101a83b2106a0d7c695a2ce4
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agointerface: do not check if fd is negative 74/160274/1
Segwon [Wed, 15 Nov 2017 07:40:18 +0000 (16:40 +0900)]
interface: do not check if fd is negative

 - it is checked by the caller.
 - the check is meaningless even if handle is not opened.

Change-Id: Id22083b04f4e95a0788a32f1cbc2929c08dd8c31
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agolog: change file name "peripheral_common.h" to "peripheral_log.h" 67/160267/2
Segwon [Wed, 15 Nov 2017 07:24:33 +0000 (16:24 +0900)]
log: change file name "peripheral_common.h" to "peripheral_log.h"

Change-Id: I96c150951c7cb2c5517b305e00909b0bca5cacff
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agoincluding: remove unnecessary header files 58/160258/2
Segwon [Wed, 15 Nov 2017 06:52:34 +0000 (15:52 +0900)]
including: remove unnecessary header files

Change-Id: Ice8e09e5654bbc2e94d5c41b5e1d5d86e5b78239
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agohandle: change file name 'peripheral_internal.h' to 'peripheral_handle.h' 42/160242/2
Segwon [Wed, 15 Nov 2017 02:59:38 +0000 (11:59 +0900)]
handle: change file name 'peripheral_internal.h' to 'peripheral_handle.h'

 - the word 'internal' does not mean defining a handle structure.

Change-Id: Ica3650be46eb2285aaa543b1aadd3ae0a0f822cf
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agoincluding : move the '#include' duplicate written to common file 32/160232/2
Segwon [Wed, 15 Nov 2017 02:03:38 +0000 (11:03 +0900)]
including : move the '#include' duplicate written to common file

Change-Id: I5926833c5cef4f5d82bcca78164289562b53c2ca
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agogdbus: change 'peripheral_gdbus.h' file name to 'peripheral_gdbus_common.h' 21/160221/2
Segwon [Wed, 15 Nov 2017 01:57:02 +0000 (10:57 +0900)]
gdbus: change 'peripheral_gdbus.h' file name to 'peripheral_gdbus_common.h'

 - for match with interface

Change-Id: Ib6f2ee970976462c4b52d9a028a8ac956d17b80a
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agogdbus: add check error in gdbus functions 45/160145/4
Segwon [Tue, 14 Nov 2017 13:27:05 +0000 (22:27 +0900)]
gdbus: add check error in gdbus functions

 when gdbus request to daemon for open/close, it can receive return value TRUE with ret that it is not PERIPEHRAL_ERROR_NONE.
 In the case of requesting open to daemon, getting fd from list is meaningless.
 In the case of requesting close to daemon, proxy deinit function must not be run.

Change-Id: I6ca7b1c98a15ca17159123903cd9d8ebe57c353c
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agogdbus: refactor gdbus proxy functions 34/160134/5
Segwon [Tue, 14 Nov 2017 13:13:29 +0000 (22:13 +0900)]
gdbus: refactor gdbus proxy functions

 - changed to static
 - proxy init function has been modified to return error.

Change-Id: I220d66e31d19c4cd7e27caa18f2c5cd2cba19b00
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years ago[5/6] fd passing: remove unnecessary gdbus functions. 10/160110/2
Segwon [Tue, 14 Nov 2017 11:22:09 +0000 (20:22 +0900)]
[5/6] fd passing: remove unnecessary gdbus functions.

Change-Id: Ic2c0ae84608851344191606101dcef82df3786de
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years ago[4/6] fd passing: get file descriptor list from daemon through gdbus 99/160099/2
Segwon [Tue, 14 Nov 2017 10:58:32 +0000 (19:58 +0900)]
[4/6] fd passing: get file descriptor list from daemon through gdbus

 - save the received fds to handle.
 - it only receive fds when the open function is run.

Change-Id: Iaa3c87adaab0254c519b2f695068ae79850e3a23
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agogdbus: move gdbus files to top level gdbus folder 56/160056/1
Segwon [Tue, 14 Nov 2017 08:54:05 +0000 (17:54 +0900)]
gdbus: move gdbus files to top level gdbus folder

Change-Id: If08e00e576cb8bdb099a740768870a6bdcf41d8b
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agointerface: use the CHECK_ERROR macro for error set by system call 22/160022/3
Segwon [Tue, 14 Nov 2017 06:55:58 +0000 (15:55 +0900)]
interface: use the CHECK_ERROR macro for error set by system call

 - created a peripheral_interface_common.h file and implemented error macro
 - macro name : CHECK_ERROR

Signed-off-by: Segwon <segwon.han@samsung.com>
Change-Id: I5d1167ab2d7aa3e5e3b22ef2192efbd68b1f17bc

6 years agoi2c: remove unused interface function that peripheral_interface_i2c_set_address() 77/159977/3
Segwon [Tue, 14 Nov 2017 04:24:37 +0000 (13:24 +0900)]
i2c: remove unused interface function that peripheral_interface_i2c_set_address()

Change-Id: I277e99134c27a411614aac9502c700ab83f04c3e
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agointerface: change the type of parameters in interface functions. 75/159975/4
Segwon [Tue, 14 Nov 2017 04:19:48 +0000 (13:19 +0900)]
interface: change the type of parameters in interface functions.

 - it matches the parameter type of the API

Change-Id: I79d7b66fb917affd4398c1609b367859bc5da3bc
Signed-off-by: Segwon <segwon.han@samsung.com>
6 years agointerface: unuse the enum types defined in the interface 71/159971/4
Segwon [Tue, 14 Nov 2017 03:55:52 +0000 (12:55 +0900)]
interface: unuse the enum types defined in the interface

 - replace with enum types provided by the API
 - remove enum list
    1) gpio_direction_e
    2) gpio_edge_e
    3) pwm_polarity_e
    4) uart_baud_rate_e
    5) uart_byte_size_e
    6) uart_parity_e
    7) uart_stop_bits_e

Change-Id: Id70350fabf29b18c7b440be8bbfdd4b99ed3b98d
Signed-off-by: Segwon <segwon.han@samsung.com>