restore lost packages from 0.2.3 + fix overwritten 0.2.4 files
- Restore 29 recipe symlinks (libdrm, qtbase, dbus, sddm, pipewire, etc.) - Restore 33 patches (KDE, libdrm, mesa, pipewire, sddm, wireplumber) - Restore 20+ local/scripts (audit, lint, test, build helpers) - Restore src/cook/scheduler.rs, status.rs, gnu-config/ - Restore scripts/patch-inclusion-gate.sh, run_mini1.sh, validate-collision-log.sh - Recover TLC source from HEAD (was overwritten by 0.2.3 checkout) - Recover 11 local/docs plans from HEAD (were overwritten) - Recover qt6-wayland-smoke symlink from HEAD - Fix MOTD: remove garbled ASCII art, use clean text - Update version: 0.2.0 -> 0.2.4 in os-release, motd, config - Reduce filesystem_size: 1536 -> 512 MiB - Add ABSOLUTE RULE to AGENTS.md: never delete/ignore packages - Reduce pcid scheme log verbosity: info -> debug
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Follows implementation found in linux/virtio_byteorder.h
|
||||
*/
|
||||
#ifndef _LINUX_RPMSG_BYTEORDER_H
|
||||
#define _LINUX_RPMSG_BYTEORDER_H
|
||||
#include <linux/types.h>
|
||||
#include <uapi/linux/rpmsg_types.h>
|
||||
|
||||
static inline bool rpmsg_is_little_endian(void)
|
||||
{
|
||||
#ifdef __LITTLE_ENDIAN
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline u16 __rpmsg16_to_cpu(bool little_endian, __rpmsg16 val)
|
||||
{
|
||||
if (little_endian)
|
||||
return le16_to_cpu((__force __le16)val);
|
||||
else
|
||||
return be16_to_cpu((__force __be16)val);
|
||||
}
|
||||
|
||||
static inline __rpmsg16 __cpu_to_rpmsg16(bool little_endian, u16 val)
|
||||
{
|
||||
if (little_endian)
|
||||
return (__force __rpmsg16)cpu_to_le16(val);
|
||||
else
|
||||
return (__force __rpmsg16)cpu_to_be16(val);
|
||||
}
|
||||
|
||||
static inline u32 __rpmsg32_to_cpu(bool little_endian, __rpmsg32 val)
|
||||
{
|
||||
if (little_endian)
|
||||
return le32_to_cpu((__force __le32)val);
|
||||
else
|
||||
return be32_to_cpu((__force __be32)val);
|
||||
}
|
||||
|
||||
static inline __rpmsg32 __cpu_to_rpmsg32(bool little_endian, u32 val)
|
||||
{
|
||||
if (little_endian)
|
||||
return (__force __rpmsg32)cpu_to_le32(val);
|
||||
else
|
||||
return (__force __rpmsg32)cpu_to_be32(val);
|
||||
}
|
||||
|
||||
static inline u64 __rpmsg64_to_cpu(bool little_endian, __rpmsg64 val)
|
||||
{
|
||||
if (little_endian)
|
||||
return le64_to_cpu((__force __le64)val);
|
||||
else
|
||||
return be64_to_cpu((__force __be64)val);
|
||||
}
|
||||
|
||||
static inline __rpmsg64 __cpu_to_rpmsg64(bool little_endian, u64 val)
|
||||
{
|
||||
if (little_endian)
|
||||
return (__force __rpmsg64)cpu_to_le64(val);
|
||||
else
|
||||
return (__force __rpmsg64)cpu_to_be64(val);
|
||||
}
|
||||
|
||||
#endif /* _LINUX_RPMSG_BYTEORDER_H */
|
||||
@@ -0,0 +1,38 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Copyright 2019 Google LLC.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_RPMSG_MTK_RPMSG_H
|
||||
#define __LINUX_RPMSG_MTK_RPMSG_H
|
||||
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/remoteproc.h>
|
||||
|
||||
typedef void (*ipi_handler_t)(void *data, unsigned int len, void *priv);
|
||||
|
||||
/*
|
||||
* struct mtk_rpmsg_info - IPI functions tied to the rpmsg device.
|
||||
* @register_ipi: register IPI handler for an IPI id.
|
||||
* @unregister_ipi: unregister IPI handler for a registered IPI id.
|
||||
* @send_ipi: send IPI to an IPI id. wait is the timeout (in msecs) to wait
|
||||
* until response, or 0 if there's no timeout.
|
||||
* @ns_ipi_id: the IPI id used for name service, or -1 if name service isn't
|
||||
* supported.
|
||||
*/
|
||||
struct mtk_rpmsg_info {
|
||||
int (*register_ipi)(struct platform_device *pdev, u32 id,
|
||||
ipi_handler_t handler, void *priv);
|
||||
void (*unregister_ipi)(struct platform_device *pdev, u32 id);
|
||||
int (*send_ipi)(struct platform_device *pdev, u32 id,
|
||||
const void *buf, unsigned int len, unsigned int wait);
|
||||
int ns_ipi_id;
|
||||
};
|
||||
|
||||
struct rproc_subdev *
|
||||
mtk_rpmsg_create_rproc_subdev(struct platform_device *pdev,
|
||||
struct mtk_rpmsg_info *info);
|
||||
|
||||
void mtk_rpmsg_destroy_rproc_subdev(struct rproc_subdev *subdev);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,45 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
|
||||
#ifndef _LINUX_RPMSG_NS_H
|
||||
#define _LINUX_RPMSG_NS_H
|
||||
|
||||
#include <linux/mod_devicetable.h>
|
||||
#include <linux/rpmsg.h>
|
||||
#include <linux/rpmsg/byteorder.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
/**
|
||||
* struct rpmsg_ns_msg - dynamic name service announcement message
|
||||
* @name: name of remote service that is published
|
||||
* @addr: address of remote service that is published
|
||||
* @flags: indicates whether service is created or destroyed
|
||||
*
|
||||
* This message is sent across to publish a new service, or announce
|
||||
* about its removal. When we receive these messages, an appropriate
|
||||
* rpmsg channel (i.e device) is created/destroyed. In turn, the ->probe()
|
||||
* or ->remove() handler of the appropriate rpmsg driver will be invoked
|
||||
* (if/as-soon-as one is registered).
|
||||
*/
|
||||
struct rpmsg_ns_msg {
|
||||
char name[RPMSG_NAME_SIZE];
|
||||
__rpmsg32 addr;
|
||||
__rpmsg32 flags;
|
||||
} __packed;
|
||||
|
||||
/**
|
||||
* enum rpmsg_ns_flags - dynamic name service announcement flags
|
||||
*
|
||||
* @RPMSG_NS_CREATE: a new remote service was just created
|
||||
* @RPMSG_NS_DESTROY: a known remote service was just destroyed
|
||||
*/
|
||||
enum rpmsg_ns_flags {
|
||||
RPMSG_NS_CREATE = 0,
|
||||
RPMSG_NS_DESTROY = 1,
|
||||
};
|
||||
|
||||
/* Address 53 is reserved for advertising remote services */
|
||||
#define RPMSG_NS_ADDR (53)
|
||||
|
||||
int rpmsg_ns_register_device(struct rpmsg_device *rpdev);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,34 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
|
||||
#ifndef _LINUX_RPMSG_QCOM_GLINK_H
|
||||
#define _LINUX_RPMSG_QCOM_GLINK_H
|
||||
|
||||
#include <linux/device.h>
|
||||
|
||||
struct qcom_glink_smem;
|
||||
|
||||
#if IS_ENABLED(CONFIG_RPMSG_QCOM_GLINK)
|
||||
void qcom_glink_ssr_notify(const char *ssr_name);
|
||||
#else
|
||||
static inline void qcom_glink_ssr_notify(const char *ssr_name) {}
|
||||
#endif
|
||||
|
||||
#if IS_ENABLED(CONFIG_RPMSG_QCOM_GLINK_SMEM)
|
||||
|
||||
struct qcom_glink_smem *qcom_glink_smem_register(struct device *parent,
|
||||
struct device_node *node);
|
||||
void qcom_glink_smem_unregister(struct qcom_glink_smem *glink);
|
||||
|
||||
#else
|
||||
|
||||
static inline struct qcom_glink_smem *
|
||||
qcom_glink_smem_register(struct device *parent,
|
||||
struct device_node *node)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline void qcom_glink_smem_unregister(struct qcom_glink_smem *glink) {}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,31 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
|
||||
#ifndef _LINUX_RPMSG_QCOM_SMD_H
|
||||
#define _LINUX_RPMSG_QCOM_SMD_H
|
||||
|
||||
#include <linux/device.h>
|
||||
|
||||
struct qcom_smd_edge;
|
||||
|
||||
#if IS_ENABLED(CONFIG_RPMSG_QCOM_SMD)
|
||||
|
||||
struct qcom_smd_edge *qcom_smd_register_edge(struct device *parent,
|
||||
struct device_node *node);
|
||||
void qcom_smd_unregister_edge(struct qcom_smd_edge *edge);
|
||||
|
||||
#else
|
||||
|
||||
static inline struct qcom_smd_edge *
|
||||
qcom_smd_register_edge(struct device *parent,
|
||||
struct device_node *node)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline void qcom_smd_unregister_edge(struct qcom_smd_edge *edge)
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user