Date   

Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 1
[ZEP-204] GPIO sample refuses to compile
https://jira.zephyrproject.org/browse/ZEP-204

UPDATED JIRA items within last 24 hours: 0

CLOSED JIRA items within last 24 hours: 0

RESOLVED JIRA items within last 24 hours: 0


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/1501 : fixed inclusion of limits.h when building with newlib
- https://gerrit.zephyrproject.org/r/1484 : checkpatch: warn on COMPLEX_MACRO and MULTISTATEMENT_MACRO_USE_DO_WHILE
- https://gerrit.zephyrproject.org/r/1499 : qmsi: adc: use built-in qmsi driver
- https://gerrit.zephyrproject.org/r/1496 : qmsi: gpio: use built-in qmsi driver
- https://gerrit.zephyrproject.org/r/1500 : qmsi: uart: use built-in qmsi driver
- https://gerrit.zephyrproject.org/r/1492 : qmsi: spi: use built-in qmsi driver
- https://gerrit.zephyrproject.org/r/1497 : samples: power: use string for driver name
- https://gerrit.zephyrproject.org/r/1498 : nble: fixed dependencies on GPIO
- https://gerrit.zephyrproject.org/r/1495 : qmsi: aon_counters: use built-in qmsi driver
- https://gerrit.zephyrproject.org/r/1493 : qmsi: aio: use built-in qmsi driver
- https://gerrit.zephyrproject.org/r/1494 : aio: rename sample name and make it generic
- https://gerrit.zephyrproject.org/r/1491 : spi: use global init priority
- https://gerrit.zephyrproject.org/r/1489 : pwm: unify driver names
- https://gerrit.zephyrproject.org/r/1490 : qmsi: pwm: use built-in qmsi driver
- https://gerrit.zephyrproject.org/r/1488 : qmsi: i2c: use built-in qmsi driver
- https://gerrit.zephyrproject.org/r/1482 : qmsi: rtc: use built-in qmsi driver
- https://gerrit.zephyrproject.org/r/1483 : qmsi: watchdog: use built-in qmsi driver
- https://gerrit.zephyrproject.org/r/1481 : doc: remove collaboration guides
- https://gerrit.zephyrproject.org/r/1480 : doc: process tinycrypt headers with doxygen

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/1098 : drivers: add qmsi files for Quark MCUs

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/1273 : spi: intel: fix port 1 pin setup
- https://gerrit.zephyrproject.org/r/1350 : samples: Use consistent file naming for project config file


Re: Zephyr environment maintenance Sat, Apr 16, 0800 - 1000 PDT

Andrew Grimberg <agrimberg@...>
 

This work has now been completed.

-Andy-

On 04/16/2016 07:56 AM, Andrew Grimberg wrote:
This work will be starting soon.

-Andy-

On 04/12/2016 09:48 AM, Andrew Grimberg wrote:
When: Saturday, April 16, 8AM - 10AM PDT (15:00-17:00 UTC)
What: Zephyr environment
Why: OS security updates and reboots

Impact
Services will be unavailable briefly as the systems are rebooted.

Jenkins will be paused to avoid having jobs fail due to missing
resources prior to the outage.

NOTE: Since upgrading to Gerrit 2.12.x Gerrit now takes a significant
amount of time to restart (anywhere form 5 - 20 minutes).

If you have any concerns, please contact helpdesk(a)zephyrproject.org

A notice will be sent out prior too and again after the maintenance as
well as a note in #zephyrproject on Freenode
--
Andrew J Grimberg
Systems Administrator
The Linux Foundation


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 1
[ZEP-203] clean up APIs for static exceptions
https://jira.zephyrproject.org/browse/ZEP-203

UPDATED JIRA items within last 24 hours: 1
[ZEP-186] ISSM - ARC support
https://jira.zephyrproject.org/browse/ZEP-186

CLOSED JIRA items within last 24 hours: 0

RESOLVED JIRA items within last 24 hours: 0


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/1479 : make_zephyr_sdk: Install Nios2 toolchain
- https://gerrit.zephyrproject.org/r/1478 : newlib: Add support for Nios2
- https://gerrit.zephyrproject.org/r/1477 : zephyr-sdk.conf: Bumped DISTRO_VERSION
- https://gerrit.zephyrproject.org/r/1476 : make_zephyr_sdk.sh: Bumped SDK version to 0.8.0
- https://gerrit.zephyrproject.org/r/1475 : BOSSA: Add BOSSA tool for Arduino Due
- https://gerrit.zephyrproject.org/r/1474 : hosttools-tarbal.bb: Integrate PLY library into SDK
- https://gerrit.zephyrproject.org/r/1460 : doc: collaboration: code: gerrit commit message JIRA key
- https://gerrit.zephyrproject.org/r/1457 : bmi160: add support for triggers
- https://gerrit.zephyrproject.org/r/1454 : bmi160: create two inline wrappers for bmi160_reg_val_to_range
- https://gerrit.zephyrproject.org/r/1456 : bmi160: make some read/write functions global
- https://gerrit.zephyrproject.org/r/1455 : bmi160: fix bmi160_reg_field_update function
- https://gerrit.zephyrproject.org/r/1453 : bmi160: move the printing macro to the header
- https://gerrit.zephyrproject.org/r/1458 : bmi160: add trigger tests to the application
- https://gerrit.zephyrproject.org/r/1452 : bmi160: add x86 app for receiving BMI160 interrupts
- https://gerrit.zephyrproject.org/r/1450 : bmi160: move sample app to arc subdirectory
- https://gerrit.zephyrproject.org/r/1451 : sensor.h: fix typo

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/1216 : kinetis: reorganise soc directory using soc family
- https://gerrit.zephyrproject.org/r/1217 : stm32: reorganise soc directory and use family/series
- https://gerrit.zephyrproject.org/r/1221 : new SoC naming convention
- https://gerrit.zephyrproject.org/r/1214 : stm32: rename CONFIG_SOC_STM32 -> CONFIG_SOC_FAMILY_STM32
- https://gerrit.zephyrproject.org/r/1215 : stm32: rename SOC_STM32F1X -> SOC_SERIES_STM32F1X
- https://gerrit.zephyrproject.org/r/1219 : soc: introduce SoC families and series
- https://gerrit.zephyrproject.org/r/1360 : sensor: fix init driver_api
- https://gerrit.zephyrproject.org/r/1325 : power_mgmt: Provide APIs for devices to signal busy to PM policy mgr
- https://gerrit.zephyrproject.org/r/1369 : samples: adding ADC pulse sensor sample
- https://gerrit.zephyrproject.org/r/1444 : Bluetooth: drivers/nble: Fix calling cmd from discov callback
- https://gerrit.zephyrproject.org/r/1263 : build: support icx llvm compiler
- https://gerrit.zephyrproject.org/r/1411 : build: add arc support to issm toolchain
- https://gerrit.zephyrproject.org/r/1034 : Bluetooth: BR/EDR: Notify about pairing while JustWorks
- https://gerrit.zephyrproject.org/r/999 : Bluetooth: BR/EDR: Initiate encryption on link
- https://gerrit.zephyrproject.org/r/1445 : gpio: Deprecate API 1.0 callback type and related function
- https://gerrit.zephyrproject.org/r/998 : Bluetooth: BR/EDR: Initiate authentication
- https://gerrit.zephyrproject.org/r/914 : gpio: Improve the public API to handle multi callbacks
- https://gerrit.zephyrproject.org/r/1353 : samples: Using new GPIO API callbacks
- https://gerrit.zephyrproject.org/r/1354 : cc2520: Using new GPIO API callbacks
- https://gerrit.zephyrproject.org/r/1271 : sensors: Using new GPIO API callbacks

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/1448 : doc: Remove communication section.
- https://gerrit.zephyrproject.org/r/1447 : doc: Remove documentation collaboration section.
- https://gerrit.zephyrproject.org/r/1449 : doc: Modify the master file to a single ToC.
- https://gerrit.zephyrproject.org/r/1462 : doc: link in device model APIs
- https://gerrit.zephyrproject.org/r/1471 : doc: irq.h: fix mismatched parameter names in comment
- https://gerrit.zephyrproject.org/r/1467 : doc: clock_control/stm32f1: Fix @file tag
- https://gerrit.zephyrproject.org/r/1465 : doc: pwm: remove extra function param from comment
- https://gerrit.zephyrproject.org/r/1473 : doc: device.h: hide DEV_* from public documentation
- https://gerrit.zephyrproject.org/r/1466 : doc: microkernel/memory_pool: fix parameter reference tag
- https://gerrit.zephyrproject.org/r/1468 : doc: include/misc/slist: Fix @file tag
- https://gerrit.zephyrproject.org/r/1472 : doc: misc/slist: fixed unsupported xml/html tag warnings
- https://gerrit.zephyrproject.org/r/1469 : gitignore: Fix doxygen generated directory names
- https://gerrit.zephyrproject.org/r/1470 : doc: kernel_event_logger: fix complain about @defgroup
- https://gerrit.zephyrproject.org/r/1464 : headers: use __deprecated
- https://gerrit.zephyrproject.org/r/1461 : gcc: add __deprecated for shortened __attribute__((deprecated))
- https://gerrit.zephyrproject.org/r/1463 : doc: counter should be under device driver
- https://gerrit.zephyrproject.org/r/1459 : wdt: update sample code
- https://gerrit.zephyrproject.org/r/1446 : Bluetooth: Remove redundant returns from switch
- https://gerrit.zephyrproject.org/r/1396 : libc: add strncat() to minimal libc
- https://gerrit.zephyrproject.org/r/1397 : debug: fit Kconfig lines in 80 columns
- https://gerrit.zephyrproject.org/r/1399 : debug/x86: add runtime info needed by target debuggers
- https://gerrit.zephyrproject.org/r/1401 : x86/debug: GDB server needs to handle some exceptions
- https://gerrit.zephyrproject.org/r/1400 : debug: add target GDB server
- https://gerrit.zephyrproject.org/r/1394 : console: add hook for debug server to handle outgoing characters
- https://gerrit.zephyrproject.org/r/1395 : x86: add debug hook in _NanoFatalErrorHandler()
- https://gerrit.zephyrproject.org/r/1398 : debug: add missing MEM_SAFE dependency
- https://gerrit.zephyrproject.org/r/1303 : sensors: add driver for TMP007 infrared thermopile sensor
- https://gerrit.zephyrproject.org/r/1393 : gcc: add __weak for shorter __attribute__((__weak__))
- https://gerrit.zephyrproject.org/r/1385 : Bluetooth: include errno.h
- https://gerrit.zephyrproject.org/r/1386 : pinmux: include errno.h
- https://gerrit.zephyrproject.org/r/932 : drivers: Quark flash support
- https://gerrit.zephyrproject.org/r/1402 : docs: adding details for the D2000 board
- https://gerrit.zephyrproject.org/r/1421 : watchdog/dw: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1423 : serial/k20: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1415 : i2c/dw: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1410 : grove/lcd_rgb: assign magic number to driver_api
- https://gerrit.zephyrproject.org/r/1416 : i2c/quark_se_ss: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1389 : doc: merge coding conventions into one document
- https://gerrit.zephyrproject.org/r/1388 : doc: move code contribution guidelines one level up
- https://gerrit.zephyrproject.org/r/1418 : pwm/dw: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1422 : gpio/k64: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1413 : serial/uart_ns16550: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1424 : pwm/k64_ftm: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1420 : rtc/dw: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1414 : gpio/dw: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1412 : clock_control/quark_se: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1368 : pinmux/dev: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1367 : device: add macro to assign driver_api at compile time
- https://gerrit.zephyrproject.org/r/1426 : uart/atmel_sam3: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1425 : spi/k64: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1427 : i2c/atmel_sam3: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1430 : gpio/stm32: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1429 : clock_control/stm32f10x: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1428 : gpio/atmel_sam3: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1417 : adc/dw: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1419 : spi/dw: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1432 : watchdog/iwdg_stm32: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1433 : serial/stellaris: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1431 : serial/uart_stm32: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1434 : ipm: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1373 : Bluetooth: L2CAP: l2cap_chan_get() can get BR/EDR L2CAP SIG channel
- https://gerrit.zephyrproject.org/r/1372 : Bluetooth: L2CAP: l2cap_send_reject() can use BR/EDR L2CAP SIG channel
- https://gerrit.zephyrproject.org/r/517 : Bluetooth: tester: Start using net_buf to store GATT database
- https://gerrit.zephyrproject.org/r/1443 : drivers/nble: Implement read multiple response
- https://gerrit.zephyrproject.org/r/1113 : nanokernel: deprecate dynamic IRQs
- https://gerrit.zephyrproject.org/r/1112 : microkernel: deprecate task IRQs
- https://gerrit.zephyrproject.org/r/1200 : Bluetooth: tester: Update server commands with sequence params
- https://gerrit.zephyrproject.org/r/1435 : drivers/nble: Fix NULL pointer dereference


Re: Zephyr environment maintenance Sat, Apr 16, 0800 - 1000 PDT

Andrew Grimberg <agrimberg@...>
 

This work will be starting soon.

-Andy-

On 04/12/2016 09:48 AM, Andrew Grimberg wrote:
When: Saturday, April 16, 8AM - 10AM PDT (15:00-17:00 UTC)
What: Zephyr environment
Why: OS security updates and reboots

Impact
Services will be unavailable briefly as the systems are rebooted.

Jenkins will be paused to avoid having jobs fail due to missing
resources prior to the outage.

NOTE: Since upgrading to Gerrit 2.12.x Gerrit now takes a significant
amount of time to restart (anywhere form 5 - 20 minutes).

If you have any concerns, please contact helpdesk(a)zephyrproject.org

A notice will be sent out prior too and again after the maintenance as
well as a note in #zephyrproject on Freenode
--
Andrew J Grimberg
Systems Administrator
The Linux Foundation


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 0

UPDATED JIRA items within last 24 hours: 0

CLOSED JIRA items within last 24 hours: 1
[ZEP-100] (Fixed) Test bug for Gerrit
https://jira.zephyrproject.org/browse/ZEP-100

RESOLVED JIRA items within last 24 hours: 0


Re: API deprecation / GPIO patch

Tomasz Bursztyka
 

Hi Andrew,

Another question: I had asked you to mark gpio_set_callback() with
__attribute__((deprecated)), but you said that broke the build. Can
you provide a little more detail here? is it because the sample
applications haven't been updated to the new API yet (I saw them later
in the patch series). Would it be possible to provide a new patch in
the series, after all the sample apps have been updated, to add the
__attribute__((deprecated)) tag there?
Ok I fixed that so the first patch still keeps the old behavior enabled
by default in Kconfig, so CI does not scream.
I did not wanted to merge all the adaptation patches on top with it, to
keep the history clear.

And last patch, as you advised, deprecate the call and disable by
default the old behavior in Kconfib

Tomasz


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/1444 : Bluetooth: drivers/nble: Fix calling cmd from discov callback
- https://gerrit.zephyrproject.org/r/1445 : gpio: Deprecate API 1.0 callback type and related function
- https://gerrit.zephyrproject.org/r/1435 : drivers/nble: Fix NULL pointer dereference
- https://gerrit.zephyrproject.org/r/1443 : drivers/nble: Implement read multiple response
- https://gerrit.zephyrproject.org/r/1436 : net: ieee802154: Add a simpler but working default RDC driver
- https://gerrit.zephyrproject.org/r/1437 : net: rdc: Make simplerdc a full replacement against nullrdc
- https://gerrit.zephyrproject.org/r/1441 : net: buf: Fix the debug print when unreffing the net_buf
- https://gerrit.zephyrproject.org/r/1440 : net: buf: Check we are not overflowing free buf count
- https://gerrit.zephyrproject.org/r/1438 : net: Removed obsolete print defines from slip driver
- https://gerrit.zephyrproject.org/r/1442 : net: buf: Add reference count check for IP buf
- https://gerrit.zephyrproject.org/r/1439 : net: buf: Add helper for catching ref counting errors
- https://gerrit.zephyrproject.org/r/1411 : build: add arc support to issm toolchain
- https://gerrit.zephyrproject.org/r/1409 : net:apps: zperf application
- https://gerrit.zephyrproject.org/r/1410 : grove/lcd_rgb: assign magic number to driver_api
- https://gerrit.zephyrproject.org/r/1420 : rtc/dw: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1430 : gpio/stm32: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1431 : serial/uart_stm32: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1432 : watchdog/iwdg_stm32: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1433 : serial/stellaris: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1429 : clock_control/stm32f10x: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1421 : watchdog/dw: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1422 : gpio/k64: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1414 : gpio/dw: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1417 : adc/dw: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1434 : ipm: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1424 : pwm/k64_ftm: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1418 : pwm/dw: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1419 : spi/dw: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1423 : serial/k20: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1425 : spi/k64: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1426 : uart/atmel_sam3: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1427 : i2c/atmel_sam3: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1428 : gpio/atmel_sam3: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1415 : i2c/dw: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1416 : i2c/quark_se_ss: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1413 : serial/uart_ns16550: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1412 : clock_control/quark_se: convert to use DEVICE_AND_API_INIT()

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/914 : gpio: Improve the public API to handle multi callbacks
- https://gerrit.zephyrproject.org/r/1354 : cc2520: Using new GPIO API callbacks
- https://gerrit.zephyrproject.org/r/1271 : sensors: Using new GPIO API callbacks
- https://gerrit.zephyrproject.org/r/1353 : samples: Using new GPIO API callbacks
- https://gerrit.zephyrproject.org/r/999 : Bluetooth: BR/EDR: Initiate encryption on link
- https://gerrit.zephyrproject.org/r/1034 : Bluetooth: BR/EDR: Notify about pairing while JustWorks
- https://gerrit.zephyrproject.org/r/998 : Bluetooth: BR/EDR: Initiate authentication
- https://gerrit.zephyrproject.org/r/1201 : Bluetooth: tester: Add support for seqence gatt database
- https://gerrit.zephyrproject.org/r/1202 : Bluetooth: tester: Return pre defined db offset on start server
- https://gerrit.zephyrproject.org/r/1200 : Bluetooth: tester: Update server commands with sequence params
- https://gerrit.zephyrproject.org/r/1303 : sensors: add driver for TMP007 infrared thermopile sensor
- https://gerrit.zephyrproject.org/r/517 : Bluetooth: tester: Start using net_buf to store GATT database
- https://gerrit.zephyrproject.org/r/1360 : sensor: fix init driver_api
- https://gerrit.zephyrproject.org/r/1372 : Bluetooth: L2CAP: l2cap_send_reject() can use BR/EDR L2CAP SIG channel
- https://gerrit.zephyrproject.org/r/1373 : Bluetooth: L2CAP: l2cap_chan_get() can get BR/EDR L2CAP SIG channel
- https://gerrit.zephyrproject.org/r/1325 : power_mgmt: Provide APIs for devices to signal busy to PM policy mgr
- https://gerrit.zephyrproject.org/r/1403 : doc: add architecture porting guide
- https://gerrit.zephyrproject.org/r/1112 : microkernel: deprecate task IRQs
- https://gerrit.zephyrproject.org/r/1392 : debug: interrupt event logger sample for arc
- https://gerrit.zephyrproject.org/r/1113 : nanokernel: deprecate dynamic IRQs
- https://gerrit.zephyrproject.org/r/1391 : debug: interrupt event logger support for arc
- https://gerrit.zephyrproject.org/r/1367 : device: add macro to assign driver_api at compile time
- https://gerrit.zephyrproject.org/r/1368 : pinmux/dev: convert to use DEVICE_AND_API_INIT()
- https://gerrit.zephyrproject.org/r/1263 : build: support icx llvm compiler
- https://gerrit.zephyrproject.org/r/1399 : debug/x86: add runtime info needed by target debuggers
- https://gerrit.zephyrproject.org/r/1393 : gcc: add __weak for shorter __attribute((weak))
- https://gerrit.zephyrproject.org/r/1379 : microkernel: [un]block tasks on nanokernel objects infrastructure
- https://gerrit.zephyrproject.org/r/1380 : nanokernel: [un]block tasks on nanokernel objects infrastructure
- https://gerrit.zephyrproject.org/r/1376 : kernel: Init back pointer to microkernel task
- https://gerrit.zephyrproject.org/r/1378 : kernel: Add thread parameter to _nano_wait_q_put()
- https://gerrit.zephyrproject.org/r/1377 : nanokernel: Add thread parameter to _NANO_TIMEOUT_ADD()
- https://gerrit.zephyrproject.org/r/1387 : Bluetooth: gatt: include service api definition proposal
- https://gerrit.zephyrproject.org/r/1395 : x86: add debug hook in _NanoFatalErrorHandler()
- https://gerrit.zephyrproject.org/r/1397 : debug: fit Kconfig lines in 80 columns
- https://gerrit.zephyrproject.org/r/1398 : debug: add missing MEM_SAFE dependency
- https://gerrit.zephyrproject.org/r/1400 : debug: add target GDB server
- https://gerrit.zephyrproject.org/r/1375 : nanokernel: Add back pointer to microkernel task
- https://gerrit.zephyrproject.org/r/1401 : x86: if GDB_SERVER is enabled, set the needed number of exception stubs
- https://gerrit.zephyrproject.org/r/1374 : microkernel: Add TF_NANO wait flag reason
- https://gerrit.zephyrproject.org/r/1381 : tests: Pend microkernel tasks on nanokernel objects
- https://gerrit.zephyrproject.org/r/932 : drivers: Quark flash support
- https://gerrit.zephyrproject.org/r/1394 : console: add hook for debug server to handle outgoing characters
- https://gerrit.zephyrproject.org/r/1402 : docs: adding details for the D2000 board
- https://gerrit.zephyrproject.org/r/1385 : Bluetooth: include errno.h
- https://gerrit.zephyrproject.org/r/1386 : pinmux: include errno.h
- https://gerrit.zephyrproject.org/r/1389 : doc: merge coding conventions into one document
- https://gerrit.zephyrproject.org/r/1388 : doc: move code contribution guidelines one level up
- https://gerrit.zephyrproject.org/r/1029 : device: Remove DEV_* codes
- https://gerrit.zephyrproject.org/r/1363 : sanitycheck: Add olimexino_stm32 board to sanitycheck
- https://gerrit.zephyrproject.org/r/1362 : doc/board: Add documentation file for olimexino_stm32
- https://gerrit.zephyrproject.org/r/1361 : boards/olimexino_stm32: add new board
- https://gerrit.zephyrproject.org/r/1396 : libc: add strncat() to minimal libc

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/1384 : Bluetooth: shell: Add confirming incoming JustWorks pairing
- https://gerrit.zephyrproject.org/r/1371 : quark_se_devboard: Do not select GPIO
- https://gerrit.zephyrproject.org/r/1390 : nios2: Add support for Altera Nios2 CPU
- https://gerrit.zephyrproject.org/r/1370 : arduino_101: Do not duplicate GPIO select
- https://gerrit.zephyrproject.org/r/1383 : Bluetooth: Add support for confirming incoming JustWorks pairing
- https://gerrit.zephyrproject.org/r/1356 : drivers/nble: Fix spelling typo


Re: API deprecation / GPIO patch

Tomasz Bursztyka
 

Hi Andrew,

Thank you for you thorough review, it sums up nicely the patchset.

Question: *_are we comfortable with preserving app compatibility, but
breaking driver compatibility?_* I am not so sure about this but would
like some feedback from the larger group.
This question is really critical.
If we have to support all API layers from 1.0: app, driver's interface,
low level kernel API - device for instance - etc.... things are going to
be much harder when introducing changes.

Another question: I had asked you to mark gpio_set_callback() with
__attribute__((deprecated)), but you said that broke the build. Can
you provide a little more detail here? is it because the sample
applications haven't been updated to the new API yet (I saw them later
in the patch series). Would it be possible to provide a new patch in
the series, after all the sample apps have been updated, to add the
__attribute__((deprecated)) tag there?
As far as I remember (CI does not have the logs, it drops them after
some time), it was failing due to gpio_api_compat.c which was
implementing the deprecated function, using the deprecated gpio_callback_t

That said, I could disable by default such compat layer, and set the
deprecated in a last patch yes. Should fix this issue.

Tomasz


checkpatch chokes on Change-Id

Geoff Thorpe <geoff.thorpe@...>
 

Howdy,

I was studiously checking patch-submission guidelines and noticed the scripts/checkpatch.pl reminder. The documentation had already instructed me to install the commit-msg hook (to generate Change-Id tags in the commit logs), which I did. So when I then made a commit and format-patch'd it to a file, I was amused to see that checkpatch choked on it because it considers Change-Id to be an error. :-)

I'm not game to fix it, but though I'd mention it in case it's light work for someone else. I'll ignore checkpatch for now (it wasn't complaining about anything else).

Cheers,
Geoff


API deprecation / GPIO patch

Boie, Andrew P
 

Hi Tomasz,

This is in reference to https://gerrit.zephyrproject.org/r/#/c/914/

I wanted to discuss on-list some of my concerns, and this really leads into a larger topic on how we should handle changing APIs.

Summary (as I can understand it) what the patch does:
The old way of registering a GPIO callback was through the gpio_set_callback() API. It takes a function pointer of type gpio_callback_t. You can only set one callback handler in the entire driver. This is clearly not ideal.

The new way of registering a GPIO callback is through gpio_register_callback(), which will let you associate a handler function with a specific set of pins. It takes a struct gpio_callback as its argument. You can also un-register callbacks with gpio_unregister_callback(), and there is a helper function gpio_init_callback() for setting up the struct gpio_callback.

The incompatible change is the modification of gpio_set_callback_t in the API struct; it has fundamentally different semantics with the new driver API.

The implementation of gpio_set_callback() has changed. It is now located in a new C file. There is some magic going on: if new-style drivers want to support the old 1.0 API, they turn on CONFIG_GPIO_API_1_0_COMPATIBILITY and then declare GPIO_SETUP_COMPAT_DEV() somewhere in their driver file. This will create some storage space in a special read/write section for the old-style gpio_callback_t and argument.

The net effect of this is as follows:

1. Applications that have not been ported to use the new GPIO API, will still work as CONFIG_GPIO_API_1_0_COMPATIBILITY is turned on by default. It does require that any new GPIO drivers add GPIO_SETUP_COMPAT_DEV().

2. As far as I can tell, old-style GPIO drivers that are not in the Zephyr tree will be broken by this change as gpio_set_callback() will no longer call the relevant function in the API struct, and the definition of gpio_set_callback_t has changed anyway.

Question: are we comfortable with preserving app compatibility, but breaking driver compatibility? I am not so sure about this but would like some feedback from the larger group.

Another question: I had asked you to mark gpio_set_callback() with __attribute__((deprecated)), but you said that broke the build. Can you provide a little more detail here? is it because the sample applications haven't been updated to the new API yet (I saw them later in the patch series). Would it be possible to provide a new patch in the series, after all the sample apps have been updated, to add the __attribute__((deprecated)) tag there?

Andrew


Re: [RFC] Device: device_get_binding() returns NULL if device fails initialization

Daniel Leung <daniel.leung@...>
 

On Thu, Apr 14, 2016 at 09:15:50AM +0000, Davidoaia, Bogdan M wrote:


I didn't catch this at first, but the patch causes a problem for the
Grove LCD driver (not sure if this problem is also present for other
drivers).

The way it was written, the Grove LCD driver doesn't use the driver_api
pointer at all (there is no LCD API). As such, it is NULL by default and
the call to device_get_binding will return NULL even though the device
was correctly initialized.
Thank you for letting me know. I will send a patch to fix it.


--------
Daniel Leung


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 0

UPDATED JIRA items within last 24 hours: 4
[ZEP-178] Port Zephyr to Altera Max10 (Nios 2 CPU)
https://jira.zephyrproject.org/browse/ZEP-178
[ZEP-53] enable kernel_event_logger on ARC
https://jira.zephyrproject.org/browse/ZEP-53
[ZEP-186] ISSM - ARC support
https://jira.zephyrproject.org/browse/ZEP-186
[ZEP-100] Test bug for Gerrit
https://jira.zephyrproject.org/browse/ZEP-100

CLOSED JIRA items within last 24 hours: 4
[ZEP-171] (Cannot Reproduce) tests/kernel/test_timer/nanokernel/test FAILED: timeout in QEMU
https://jira.zephyrproject.org/browse/ZEP-171
[ZEP-170] (Won't Do) tests/kernel/test_sleep/test FAILED in QEMU CI
https://jira.zephyrproject.org/browse/ZEP-170
[ZEP-190] (Fixed) [regression] Failed to receive loopback packet.
https://jira.zephyrproject.org/browse/ZEP-190
[ZEP-172] (Cannot Reproduce) tests/kernel/test_task_priv/test FAILED in QEMU
https://jira.zephyrproject.org/browse/ZEP-172

RESOLVED JIRA items within last 24 hours: 1
[ZEP-185] (Fixed) Nanokernel FIFO does not handle timeouts correctly
https://jira.zephyrproject.org/browse/ZEP-185


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/1383 : Bluetooth: Add support for confirming incoming JustWorks pairing
- https://gerrit.zephyrproject.org/r/1393 : gcc: add __weak for shorter __attribute((weak))
- https://gerrit.zephyrproject.org/r/1400 : debug: add target GDB server
- https://gerrit.zephyrproject.org/r/1401 : x86: if GDB_SERVER is enabled, set the needed number of exception stubs
- https://gerrit.zephyrproject.org/r/1387 : Bluetooth: gatt: include service api definition proposal
- https://gerrit.zephyrproject.org/r/1402 : docs: adding details for the D2000 board
- https://gerrit.zephyrproject.org/r/1384 : Bluetooth: shell: Add confirming incoming JustWorks pairing
- https://gerrit.zephyrproject.org/r/1403 : doc: add porting guide
- https://gerrit.zephyrproject.org/r/1389 : doc: merge coding conventions into one document
- https://gerrit.zephyrproject.org/r/1392 : debug: interrupt event logger sample for arc
- https://gerrit.zephyrproject.org/r/1388 : doc: move code contribution guidelines one level up
- https://gerrit.zephyrproject.org/r/1394 : console: add hook for debug server to handle outgoing characters
- https://gerrit.zephyrproject.org/r/1399 : debug/x86: add runtime info needed by target debuggers
- https://gerrit.zephyrproject.org/r/1397 : debug: fit Kconfig lines in 80 columns
- https://gerrit.zephyrproject.org/r/1398 : debug: add missing MEM_SAFE dependency
- https://gerrit.zephyrproject.org/r/1395 : x86: add debug hook in _NanoFatalErrorHandler()
- https://gerrit.zephyrproject.org/r/1396 : libc: add strncat() to minimal libc
- https://gerrit.zephyrproject.org/r/1391 : debug: interrupt event logger support for arc
- https://gerrit.zephyrproject.org/r/1390 : nios2: Add support for Altera Nios2 CPU
- https://gerrit.zephyrproject.org/r/1386 : pinmux: include errno.h
- https://gerrit.zephyrproject.org/r/1385 : Bluetooth: include errno.h

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/1370 : arduino_101: Do not duplicate GPIO select
- https://gerrit.zephyrproject.org/r/1373 : Bluetooth: L2CAP: l2cap_chan_get() can get BR/EDR L2CAP SIG channel
- https://gerrit.zephyrproject.org/r/1372 : Bluetooth: L2CAP: l2cap_send_reject() can use BR/EDR L2CAP SIG channel
- https://gerrit.zephyrproject.org/r/1341 : sensor: add driver for LSM9DS0 accel and magn
- https://gerrit.zephyrproject.org/r/1340 : sensor: add the posibility to fetch one data type
- https://gerrit.zephyrproject.org/r/1303 : sensors: add driver for TMP007 infrared thermopile sensor
- https://gerrit.zephyrproject.org/r/1361 : boards/olimexino_stm32: add new board
- https://gerrit.zephyrproject.org/r/1381 : tests: Pend microkernel tasks on nanokernel objects
- https://gerrit.zephyrproject.org/r/1380 : nanokernel: [un]block tasks on nanokernel objects infrastructure
- https://gerrit.zephyrproject.org/r/1135 : boards: nucleo: Adding flash support
- https://gerrit.zephyrproject.org/r/1263 : build: support icx llvm compiler
- https://gerrit.zephyrproject.org/r/1325 : power_mgmt: Provide APIs for devices to signal busy to PM policy mgr
- https://gerrit.zephyrproject.org/r/1029 : device: Remove DEV_* codes
- https://gerrit.zephyrproject.org/r/1093 : doc: index config variable only once
- https://gerrit.zephyrproject.org/r/1374 : microkernel: Add TF_NANO wait flag reason
- https://gerrit.zephyrproject.org/r/1216 : kinetis: reorganise soc directory using soc family
- https://gerrit.zephyrproject.org/r/1378 : kernel: Add thread parameter to _nano_wait_q_put()
- https://gerrit.zephyrproject.org/r/1377 : nanokernel: Add thread parameter to _NANO_TIMEOUT_ADD()
- https://gerrit.zephyrproject.org/r/1376 : kernel: Init back pointer to microkernel task
- https://gerrit.zephyrproject.org/r/1375 : nanokernel: Add back pointer to microkernel task
- https://gerrit.zephyrproject.org/r/1379 : microkernel: [un]block tasks on nanokernel objects infrastructure
- https://gerrit.zephyrproject.org/r/1363 : sanitycheck: Add olimexino_stm32 board to sanitycheck
- https://gerrit.zephyrproject.org/r/1362 : doc/board: Add documentation file for olimexino_stm32

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/1382 : Bluetooth: SMP: Refactor pairing request handling
- https://gerrit.zephyrproject.org/r/1407 : Bluetooth: drivers/nble: Fix returning included service handle
- https://gerrit.zephyrproject.org/r/1405 : drivers/nble: Fix compare logic in on_nble_gattc_read_rsp
- https://gerrit.zephyrproject.org/r/1406 : drivers/nble: Fix handling read errors
- https://gerrit.zephyrproject.org/r/1404 : cc2520: Properly start and stop the device
- https://gerrit.zephyrproject.org/r/1356 : drivers/nble: Fix spelling typo
- https://gerrit.zephyrproject.org/r/1304 : net: Test random is necessary to use CC2520 as radio driver
- https://gerrit.zephyrproject.org/r/1342 : cc2520: Enable hardware filtering all the time
- https://gerrit.zephyrproject.org/r/1305 : cc2520: Set short address and ieee address from the driver
- https://gerrit.zephyrproject.org/r/1364 : doc: sphinx conf: use env var in sphinx doc version
- https://gerrit.zephyrproject.org/r/1357 : sensors: use SENSOR_G constant in all accelerometer drivers
- https://gerrit.zephyrproject.org/r/1358 : sensors: bma280: fix slope threshold measurement unit
- https://gerrit.zephyrproject.org/r/1195 : meta-zephyr-sdk-clone-0.7.5.sh: Use Gerrit repo
- https://gerrit.zephyrproject.org/r/1235 : hosttools-tarball.bb: Integrate Python 3 into SDK
- https://gerrit.zephyrproject.org/r/1365 : template_dir: More sanity checks deleting files
- https://gerrit.zephyrproject.org/r/1105 : doc: Edit microkernel API links


Re: [RFC] Device: device_get_binding() returns NULL if device fails initialization

Davidoaia, Bogdan M <bogdan.m.davidoaia@...>
 

Hi Daniel,

I didn't catch this at first, but the patch causes a problem for the
Grove LCD driver (not sure if this problem is also present for other
drivers).

The way it was written, the Grove LCD driver doesn't use the driver_api
pointer at all (there is no LCD API). As such, it is NULL by default and
the call to device_get_binding will return NULL even though the device
was correctly initialized.

Bogdan

On Ma, 2016-04-05 at 16:36 -0700, Daniel Leung wrote:
Problem Statement:
Currently, there is no way to know if a driver fails initialization.

Problem Description:
Zephyr currently does not provide a way to check programmatically
whether a device can be used. The device_get_binding() always
returns a valid device struct (if such device driver instance
exists). This causes a bit of headache when debugging apps as
the developer assumes the devices are ready to be used.

Solution:
The solution was actually proposed in [1] a while ago. The idea
is to piggy-back onto driver_api pointer. If the pointer is NULL,
the device driver has failed in its own initialization function.
The driver_api is set to NULL (or in other words, never set to
the actual API struct). When device_get_binding() sess that
the driver_api is NULL for a particular device struct, it returns
NULL to the caller, and thus preventing its use in the app.
Since this is a binary state, instead of creating another variable
inside device struct, this uses driver_api to avoid unnecessarily
enlarging the ROM size. Since this is a simple change, a patch
has been created in [2].

[1] https://lists.zephyrproject.org/archives/list/devel(a)lists.zephyrproject.org/message/MZB5PYBSRHV3NIEHJYXYQVLTPFIIHPB3/
[2] https://gerrit.zephyrproject.org/r/1261


----------
Daniel Leung


Cross reference JIRA tickets to Gerrit

Nashif, Anas
 

Hi,
To establish relationships between Jira items and gerrit requests and to enhance traceability of changes we have a system in place that handles the cross-reference and creates the necessary links both in Jira and Gerrit.

For code submitted to Gerrit that is based on an issue in Jira please add the Jira number to the commit message using the following format:

Jira: ZEP-100 Change-Id: Idb24bb28d5f4b5f31f1cc32d9a9ec2b8c622543e Signed-off-by: ….

This is optional right now and will help track progress of code changes and issues.

Regards,
Anas


Re: [RFC] Assign driver_api at compile/link time

Kalowsky, Daniel <daniel.kalowsky@...>
 

Hey Jason,

-----Original Message-----
From: Jason Rotella [mailto:jrotella(a)nycap.rr.com]
Sent: Tuesday, April 12, 2016 6:41 PM
To: Leung, Daniel <daniel.leung(a)intel.com>
Cc: devel(a)lists.zephyrproject.org; Fausto Hernandez
<hernandez.fausto(a)gmail.com>
Subject: [devel] Re: [RFC] Assign driver_api at compile/link time

Hi Daniel,


Are there plans for Zephyr OS to run on STM32F401 (Nucleo-64) boards?
Adding in Maciek and Yannis to make sure this is seen. We are working slowly on adding in more of the STM32 family. Currently we have the support for the Cortex-M4 processor that the STM32F4 series uses, we just need to get the basic SOC, peripheral support, and specific boards complete.


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 1
[ZEP-199] Zephyr driver model is undocumented
https://jira.zephyrproject.org/browse/ZEP-199

UPDATED JIRA items within last 24 hours: 2
[ZEP-70] Users should be able to use bossa tool for the Arduino Due from the SDK
https://jira.zephyrproject.org/browse/ZEP-70
[ZEP-178] Port Zephyr to Altera Max10 (Nios 2 CPU)
https://jira.zephyrproject.org/browse/ZEP-178

CLOSED JIRA items within last 24 hours: 0

RESOLVED JIRA items within last 24 hours: 0


Re: RFC: Timer/Timeout API

Dmitriy Korovkin
 

On Wed, 13 Apr 2016, Luiz Augusto von Dentz wrote:

Hi Dmitriy,

On Wed, Apr 13, 2016 at 1:18 AM, Dmitriy Korovkin
<dmitriy.korovkin(a)windriver.com> wrote:
On Tue, 12 Apr 2016, Luiz Augusto von Dentz wrote:

Hi Dmitriy,

On Mon, Apr 11, 2016 at 9:32 PM, Dmitriy Korovkin
<dmitriy.korovkin(a)windriver.com> wrote:

On Fri, 8 Apr 2016, Luiz Augusto von Dentz wrote:

Hi,

For the network protocols is quite common to have timers/timeouts for
retrying, etc, and these cold be many in parallel depending on how
many protocols and connections are involved, for that reason the IP
stack actually contains a Timer Fiber to keep track of every timer, it
does basically something like this:

net/ip/net_core.c:666:
while (1) {
/* Run various timers */
next_wakeup = etimer_request_poll();
if (next_wakeup == 0) {
/* There was no timers, wait for fiber_wakeup */
next_wakeup = TICKS_UNLIMITED;
} else {
if (next_wakeup > MAX_TIMER_WAKEUP) {
next_wakeup = MAX_TIMER_WAKEUP;
}
...
fiber_sleep(next_wakeup);
}

This actually uses contiki etimer infra but that in the end is using
nano_timer as a backend.

In the other hand in the Bluetooth stack we actually use delayed
fibers, but that requires each and every timeout to create its own
stack to be run separately which adds more footprint to the stack, so
we would like to use the same approach of IP stack and share the same
fiber/stack but without having to resort to any contiki API.

I am not quite sure I understand the problem. Kernel keeps the track of
nanokernel timers and timeouts. If needed, each fiber can wait on a
timer (one fiber per timer). Not sure, what is the need for a separate
fiber
that runs through the timers.

By kernel I guess you mean that each fiber has a capability to run
timers, which is not useful in case of net subsystem since that
requires each and every timeout to have a dedicated stack.
In other words, the idea of several fibers does not work for you, I see.

With this in mind Id like to get some opinions regarding the design of
a Timer/Timeout API:

- Shall this be global/system wide or net specific? I think it could
be global enabled with a Kconfig option and perhaps make _nano_timeout
API public.

Depends on what is needed. If this is a global change (apility for
multiple
fibers to wait on one timer, for instance), this should be global.

I never said we want the ability for multiple fibers to wait on one
timer, it is actually the opposite that we are doing in IP since there
is a single fiber managing multiple nano_timers calling a callback
when they expire. Anyway I starting to think we would be better off
prototyping this under net so we get the ball rolling.

- Perhaps have the API flexible enough so private fiber could be used
instead in case one don't want to use the global one?

As the kernel keeps track of the timers, there may be something else is
needed.

As I understand the kernel has APIs to put a fiber/task to sleep for
an x amount of ticks, blocking them, it doesn't have any API that the
user provide a callback which gets called when the timer expire
without blocking or requiring a new fiber for each call.
Ok, now it gets clearer. You are asking for a nanokernel timer API that
executes a registered callback when it expires. I do not think it is a good
idea to execute callbacks in ISR context, which brings us to an idea
of a fiber that executes these callbacks. Is this what you are asking for?
For this we need to make sure that a fiber can sleep on multiple timers.
The stack size for this fiber should be configurable.
Does it look good?
Yes, it is actually what we already have in IP which maintain a fiber
to execute the callbacks but the API is based on contiki etimers which
is something we would not like to use in Bluetooth. We have actually
discussed about using ISR context and came to the same conclusion that
it is perhaps not a good idea, although the callback should not block
either since that would block other callbacks to be executed. This
concept in fact is very similar to Linux Workqueues, but in Linux it
is possible to create dedicated workqueues which perhaps is useful for
drivers, etc. Anyway I started prototyping for Bluetooth first to see
how it works in practice.
I would suggest starting with RFC, as it may be good to have it
implemented in the Zephyr OS kernel:
If we enable NANO_TIMER_CALLBACK config option, we start a fiber that
sleeps on all the nanokernel timers that have registered a callback
function. When this fiber starts, it may probably just call
_nano_fiber_swap() and wait. When we register a nano_timer callback,
we add the "callback fiber" tcs to the timer, as if the fiber is
waiting for this timer to expire. And do same things with all the other
timers when register a callback for them. When the timer expires, it
wakes up the callback fiber, fiber walks through the expired timers
(somehow) and executes their callbacks. Then it calls _nano_fiber_swap()
and waits for another timer to expire.
This is just a rough idea and it opens several questions:
- do we need both timer with a callback and a fiber (not the "callback
fiber") waiting for it.
- do we need an argument for the callback? Should the argument be the user
data pointer that we have for the nano timer?
- how is it better to keep the callback pointer? For each nanokernel
timer or within the "callback fiber" list?
- how to get the list of expired timers without walking through the list
of all the registered ones?

Regards,
/Dmitriy.

7401 - 7420 of 7909