You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2022/12/28 11:46:32 UTC
[GitHub] [nuttx] XinStellaris opened a new pull request, #7995: sched/misc:add linux-like reboot notifier list
XinStellaris opened a new pull request, #7995:
URL: https://github.com/apache/nuttx/pull/7995
## Summary
Add linux-like reboot notifier callback list. This is useful if some operations are needed when rebooting, then reboot notifier would be a good place to insert operations.
## Impact
on boardctl BOARDIOC_POWEROFF and BOARDIOC_RESET.
## Testing
Tested on ESP32C3
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] xiaoxiang781216 commented on pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#issuecomment-1367032600
You can add the documentation here:
https://github.com/apache/nuttx/tree/master/Documentation
maybe this location is good:
https://github.com/apache/nuttx/tree/master/Documentation/reference/os
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] xiaoxiang781216 commented on pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#issuecomment-1367121509
please rebase the patch
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] acassis commented on pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
acassis commented on PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#issuecomment-1366967899
@XinStellaris please include documentation about this new reboot notifier
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] xiaoxiang781216 commented on a diff in pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on code in PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#discussion_r1058397175
##########
include/nuttx/notifier.h:
##########
@@ -42,6 +43,13 @@
#define ATOMIC_NOTIFIER_HEAD(name) \
struct atomic_notifier_head name = ATOMIC_NOTIFIER_INIT(name)
+#define BLOCKING_NOTIFIER_INIT(name) { \
+ NXMUTEX_INITIALIZER, \
+ NULL }
Review Comment:
```
#define BLOCKING_NOTIFIER_INIT(name) \
{ \
NXMUTEX_INITIALIZER, \
NULL \
}
```
##########
boards/boardctl.c:
##########
@@ -361,6 +362,7 @@ int boardctl(unsigned int cmd, uintptr_t arg)
case BOARDIOC_POWEROFF:
{
+ reboot_notifier_call_chain(SYS_POWER_OFF, NULL);
Review Comment:
```suggestion
reboot_notifier_call_chain(SYS_POWER_OFF, (FAR void *)arg);
```
##########
boards/boardctl.c:
##########
@@ -376,6 +378,7 @@ int boardctl(unsigned int cmd, uintptr_t arg)
case BOARDIOC_RESET:
{
+ reboot_notifier_call_chain(SYS_RESET, NULL);
Review Comment:
```suggestion
reboot_notifier_call_chain(SYS_RESET, (FAR void *)arg);
```
##########
include/nuttx/reboot_notifier.h:
##########
@@ -0,0 +1,84 @@
+/****************************************************************************
+ * include/nuttx/reboot_notifier.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership. The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __INCLUDE_NUTTX_REBOOT_NOTIFIER_H
+#define __INCLUDE_NUTTX_REBOOT_NOTIFIER_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include <nuttx/notifier.h>
+
+#include <sys/types.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define SYS_RESET 0x0001 /* Notify of system reset */
+#define SYS_POWER_OFF 0x0002 /* Notify of system power off */
+
+/****************************************************************************
+ * Public Function
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: register_reboot_notifier
+ *
+ * Description:
+ * Add notifier to the reboot notifier chain
+ *
+ * Input Parameters:
+ * nb - New entry in notifier chain
+ *
+ ****************************************************************************/
+
+void register_reboot_notifier(FAR struct notifier_block *nb);
+
+/****************************************************************************
+ * Name: unregister_reboot_notifier
+ *
+ * Description:
+ * Remove notifier from the reboot notifier chain
+ *
+ * Input Parameters:
+ * nb - Entry to remove from notifier chain
+ *
+ ****************************************************************************/
+
+void unregister_reboot_notifier(FAR struct notifier_block *nb);
+
+/****************************************************************************
+ * Name: reboot_notifier_call_chain
+ *
+ * Description:
+ * Call functions in the reboot notifier chain.
+ *
+ * Input Parameters:
+ * action - Value passed unmodified to notifier function
+ * data - Pointer passed unmodified to notifier function
+ *
+ ****************************************************************************/
+
+void reboot_notifier_call_chain(unsigned long action, FAR void *data);
+
+#endif /* __INCLUDE_NUTTX_REBOOT_NOTIFIER_H */
Review Comment:
append a new line
##########
boards/boardctl.c:
##########
@@ -376,6 +378,7 @@ int boardctl(unsigned int cmd, uintptr_t arg)
case BOARDIOC_RESET:
{
+ reboot_notifier_call_chain(SYS_RESET, NULL);
Review Comment:
```suggestion
reboot_notifier_call_chain(SYS_RESET, (FAR void *)arg);
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] davids5 commented on a diff in pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
davids5 commented on code in PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#discussion_r1058814351
##########
Documentation/reference/os/notifier.rst:
##########
@@ -0,0 +1,95 @@
+===========
+Notifier Chain
+===========
+
+NuttX provides a callback list mechanism called *Notifier Chain*.
+Notifier chain is essentially a list of callbacks used upon certain time,
+such as system asserting, powering off and restarting.
+
+**Notifier chain** is very much alike Linux notifier chains, except
Review Comment:
```suggestion
**Notifier chain** is very much like the Linux notifier chains, except
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] XinStellaris commented on a diff in pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
XinStellaris commented on code in PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#discussion_r1058698318
##########
sched/misc/reboot.c:
##########
@@ -0,0 +1,87 @@
+/****************************************************************************
+ * sched/misc/reboot.c
Review Comment:
How about we just keep the linux file name reboot.c?
We may put common logic of reboot into reboot.c later. So this file is not just for notifiers.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] davids5 commented on a diff in pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
davids5 commented on code in PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#discussion_r1058814107
##########
Documentation/reference/os/notifier.rst:
##########
@@ -0,0 +1,95 @@
+===========
+Notifier Chain
+===========
+
+NuttX provides a callback list mechanism called *Notifier Chain*.
+Notifier chain is essentially a list of callbacks used upon certain time,
Review Comment:
```suggestion
Notifier chain is essentially a list of callbacks used at certain times,
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] xiaoxiang781216 commented on pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#issuecomment-1367442289
> The code LGTM. The only issue I see is that the notified has to complete and not schedule anything or the CPU may be reset out from under it. If the notified could vote and only do the reset on all votes completion.
The original Linux support this feature: https://github.com/torvalds/linux/blob/master/kernel/notifier.c#L101-L127
but since reboot/panic is designed for the pure notification purpose (even in Linux), @XinStellaris remove this feature from the initial implementation. If you really want this feature, it's very easy to add if needed in the future.
> I suppose a notified element could be a coordinator but I do not see an inherit ordering or level, to ensure it runs last.
you can use the priority value: https://github.com/apache/nuttx/blob/master/include/nuttx/notifier.h#L67
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] xiaoxiang781216 commented on a diff in pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on code in PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#discussion_r1058442499
##########
include/nuttx/reboot_notifier.h:
##########
@@ -0,0 +1,84 @@
+/****************************************************************************
+ * include/nuttx/reboot_notifier.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership. The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __INCLUDE_NUTTX_REBOOT_NOTIFIER_H
+#define __INCLUDE_NUTTX_REBOOT_NOTIFIER_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include <nuttx/notifier.h>
+
+#include <sys/types.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define SYS_RESET 0x0001 /* Notify of system reset */
+#define SYS_POWER_OFF 0x0002 /* Notify of system power off */
Review Comment:
let's follow Linux define:
```
#define SYS_DOWN 0x0001 /* Notify of system down */
#define SYS_RESTART SYS_DOWN
#define SYS_HALT 0x0002 /* Notify of system halt */
#define SYS_POWER_OFF 0x0003 /* Notify of system power off */
```
##########
include/nuttx/reboot_notifier.h:
##########
@@ -0,0 +1,84 @@
+/****************************************************************************
+ * include/nuttx/reboot_notifier.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership. The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __INCLUDE_NUTTX_REBOOT_NOTIFIER_H
+#define __INCLUDE_NUTTX_REBOOT_NOTIFIER_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include <nuttx/notifier.h>
+
+#include <sys/types.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define SYS_RESET 0x0001 /* Notify of system reset */
+#define SYS_POWER_OFF 0x0002 /* Notify of system power off */
Review Comment:
let's call SYS_HALT in assert busy loop
##########
sched/misc/reboot.c:
##########
@@ -0,0 +1,87 @@
+/****************************************************************************
+ * sched/misc/reboot.c
Review Comment:
```suggestion
* sched/misc/reboot_notifier.c
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] XinStellaris commented on pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
XinStellaris commented on PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#issuecomment-1367029593
>
Actually, I don't get it.
In which directory should I put documentation?
And is there an example of how the documentation should be like?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] xiaoxiang781216 commented on a diff in pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on code in PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#discussion_r1058780194
##########
include/nuttx/reboot_notifier.h:
##########
@@ -0,0 +1,84 @@
+/****************************************************************************
+ * include/nuttx/reboot_notifier.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership. The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __INCLUDE_NUTTX_REBOOT_NOTIFIER_H
+#define __INCLUDE_NUTTX_REBOOT_NOTIFIER_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include <nuttx/notifier.h>
+
+#include <sys/types.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define SYS_RESET 0x0001 /* Notify of system reset */
+#define SYS_POWER_OFF 0x0002 /* Notify of system power off */
Review Comment:
at the end of assert
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] davids5 commented on a diff in pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
davids5 commented on code in PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#discussion_r1058815063
##########
Documentation/reference/os/notifier.rst:
##########
@@ -0,0 +1,95 @@
+===========
+Notifier Chain
+===========
+
+NuttX provides a callback list mechanism called *Notifier Chain*.
+Notifier chain is essentially a list of callbacks used upon certain time,
+such as system asserting, powering off and restarting.
+
+**Notifier chain** is very much alike Linux notifier chains, except
+for some implementation differences.
+
+Classes of Notifier Chain
+======================
+
+There are currently two different classes of notifier.
+
+Atomic notifier chains
+-------------------------------
+
+Atomic notifier chains: Chain callbacks run in interrupt/atomic context.
+Callouts are not allowed to block. One example of Atomic notifier chain
Review Comment:
```suggestion
Callouts are not allowed to block. One example of an Atomic notifier chain
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] xiaoxiang781216 commented on a diff in pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on code in PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#discussion_r1058779882
##########
include/nuttx/reboot.h:
##########
@@ -0,0 +1,87 @@
+/****************************************************************************
+ * include/nuttx/reboot.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership. The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __INCLUDE_NUTTX_REBOOT_H
+#define __INCLUDE_NUTTX_REBOOT_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include <nuttx/notifier.h>
+
+#include <sys/types.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define SYS_DOWN 0x0001 /* Notify of system down */
+#define SYS_RESTART SYS_DOWN
+#define SYS_HALT 0x0002 /* Notify of system halt */
Review Comment:
need notify SYS_HALT in assert.
##########
sched/misc/reboot.c:
##########
@@ -0,0 +1,87 @@
+/****************************************************************************
+ * sched/misc/reboot.c
Review Comment:
but panic still name panic_notifier.c
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] XinStellaris commented on a diff in pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
XinStellaris commented on code in PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#discussion_r1058781085
##########
sched/misc/reboot.c:
##########
@@ -0,0 +1,87 @@
+/****************************************************************************
+ * sched/misc/reboot.c
Review Comment:
Okay, after some thinking, name it to be reboot_notifier.c
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] XinStellaris commented on a diff in pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
XinStellaris commented on code in PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#discussion_r1058696639
##########
include/nuttx/reboot_notifier.h:
##########
@@ -0,0 +1,84 @@
+/****************************************************************************
+ * include/nuttx/reboot_notifier.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership. The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __INCLUDE_NUTTX_REBOOT_NOTIFIER_H
+#define __INCLUDE_NUTTX_REBOOT_NOTIFIER_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include <nuttx/notifier.h>
+
+#include <sys/types.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define SYS_RESET 0x0001 /* Notify of system reset */
+#define SYS_POWER_OFF 0x0002 /* Notify of system power off */
Review Comment:
Where is the "assert busy loop"? don't get it
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] XinStellaris commented on a diff in pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
XinStellaris commented on code in PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#discussion_r1058699578
##########
sched/misc/reboot.c:
##########
@@ -0,0 +1,87 @@
+/****************************************************************************
+ * sched/misc/reboot.c
Review Comment:
And I will rename include/nuttx/reboot_notifier.h to include/nuttx/reboot.h
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] XinStellaris commented on pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
XinStellaris commented on PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#issuecomment-1367029712
> @XinStellaris please include documentation about this new reboot notifier
Actually, I don't get it.
In which directory should I put documentation?
And is there an example of how the documentation should be like?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] davids5 commented on a diff in pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
davids5 commented on code in PR #7995:
URL: https://github.com/apache/nuttx/pull/7995#discussion_r1058815859
##########
Documentation/reference/os/notifier.rst:
##########
@@ -0,0 +1,95 @@
+===========
+Notifier Chain
+===========
+
+NuttX provides a callback list mechanism called *Notifier Chain*.
+Notifier chain is essentially a list of callbacks used upon certain time,
+such as system asserting, powering off and restarting.
+
+**Notifier chain** is very much alike Linux notifier chains, except
+for some implementation differences.
+
+Classes of Notifier Chain
+======================
+
+There are currently two different classes of notifier.
+
+Atomic notifier chains
+-------------------------------
+
+Atomic notifier chains: Chain callbacks run in interrupt/atomic context.
+Callouts are not allowed to block. One example of Atomic notifier chain
+is when asserting, because asserting can happen in interrupt context, we
+must make sure the notifier chain will not block.
+
+Blocking notifier chains:
+------------------------------
+
+Blocking notifier chains: Chain callbacks run in process context.
+Callouts are allowed to block. One example of blocking notifier chain
Review Comment:
```suggestion
Callouts are allowed to block. One example of a blocking notifier chain
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] xiaoxiang781216 merged pull request #7995: sched/misc:add linux-like reboot notifier list
Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 merged PR #7995:
URL: https://github.com/apache/nuttx/pull/7995
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org