aon_echo driver implementation on Linux side/Event Handling

the aon_echo driver implementation on linux side currently doesn’t fire any sysfs_notify, are there any other event mechanisms available or do I have to tweak the aon_echo device driver on linux side to be able instead of continuous/polling the data_channel file to be able to use poll() with POLLPRI event?

Adapted now tegra-aon-ivs-echo.c to get an event when message from SPE is received:
struct tegra_aon_ivc_echo_data {
struct mbox_client cl;
struct mbox_chan *mbox;
struct device *dev;
u32 frame_size;
char *rx_data;

static void tegra_aon_ivc_echo_rx(struct mbox_client *cl, void *data)
struct tegra_aon_mbox_msg *msg = data;
struct tegra_aon_ivc_echo_data *drvdata = container_of(cl,
struct tegra_aon_ivc_echo_data,
memcpy(drvdata->rx_data, msg->data, drvdata->frame_size);
sysfs_notify(&(drvdata->dev->kobj), NULL,

drvdata-> = dev;
drvdata->cl.tx_block = true;
drvdata->cl.tx_tout = TX_BLOCK_PERIOD;
drvdata->cl.knows_txdone = false;
drvdata->cl.rx_callback = tegra_aon_ivc_echo_rx;
drvdata->mbox = mbox_request_channel(&drvdata->cl, 0);
if (IS_ERR(drvdata->mbox)) {
ret = PTR_ERR(drvdata->mbox);
if (ret != -EPROBE_DEFER)
dev_err(dev, “mbox_request_channel failed. Error %d\n”,
return ret;