summaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp/meta-qcom/recipes-kernel
diff options
context:
space:
mode:
authorRonan Le Martret <ronan.lemartret@iot.bzh>2021-06-22 15:34:18 +0200
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2021-10-29 08:10:38 +0000
commitac7e02678091396762ca930be58d31cb121d6459 (patch)
tree991e8879e486d3e9593c06ad8677b37275a07795 /meta-agl-bsp/meta-qcom/recipes-kernel
parenta9d0bf38b5a8e3cc2b2b1b5c604c1dedfef6bafc (diff)
[RCAR] Update RCAR BSP recipes to 5.5.0 version
* rename the dts/dtsi file, the new BSP 5.5.0 change the file name of the dts file. * update the driver files hash * Add "meta-yocto-bsp" to BBLAYERS, it's new dependency of meta-renesas. Bug-AGL: SPEC-4081 Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh> Change-Id: I53b71906e7174d7b1153a6912f7181171730147c Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26703 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Scott Murray <scott.murray@konsulko.com> Reviewed-by: Stephane Desneux <stephane.desneux@iot.bzh> Reviewed-by: Harunobu Kurokawa <harunobu.kurokawa.dn@renesas.com>
Diffstat (limited to 'meta-agl-bsp/meta-qcom/recipes-kernel')
0 files changed, 0 insertions, 0 deletions
ht .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/*
 * Copyright (C) 2015, 2016, 2017 "IoT.bzh"
 * Author "Fulup Ar Foll"
 *
 * Licensed 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.
 */

#define _GNU_SOURCE
#include <stdio.h>
#include <string.h>
#include <json-c/json.h>

#define AFB_BINDING_VERSION 1
#include <afb/afb-binding.h>


// Sample Generic Ping Debug API
static void getPingTest(struct afb_req request)
{
    static int pingcount = 0;
    json_object *query = afb_req_json(request);

    afb_req_success_f(request, query, "Ping Binder Daemon count=%d", ++pingcount);
}

// With content-type=json data are directly avaliable in request->post->data
static void GetJsonByPost (struct afb_req request)
{
    struct afb_arg arg;
    json_object* jresp;
    json_object *query = afb_req_json(request);

    arg = afb_req_get(request, "");
    jresp = arg.value ? json_tokener_parse(arg.value) : NULL;
    afb_req_success_f(request, jresp, "GetJsonByPost query={%s}", json_object_to_json_string(query));
}

// Upload a file and execute a function when upload is done
static void Uploads (struct afb_req request, const char *destination)
{
   struct afb_arg a = afb_req_get(request, "file");
   if (a.value == NULL || *a.value == 0)
     afb_req_fail(request, "failed", "no file selected");
   else
     afb_req_success_f(request, NULL, "uploaded file %s of path %s for destination %s", a.value, a.path, destination);
}

// Upload a file and execute a function when upload is done
static void UploadAppli (struct afb_req request)
{
    Uploads(request, "applications");
}

// Simples Upload case just upload a file
static void UploadMusic (struct afb_req request)
{
    Uploads(request, "musics");
}

// PostForm callback is called multiple times (one or each key within form, or once per file buffer)
// When file has been fully uploaded call is call with item==NULL
static void UploadImage (struct afb_req request)
{
    Uploads(request, "images");
}


// NOTE: this sample does not use session to keep test a basic as possible
//       in real application upload-xxx should be protected with AFB_SESSION_CHECK
static const struct afb_verb_desc_v1 verbs[]= {
  {"ping"         , AFB_SESSION_NONE  , getPingTest    ,"Ping Rest Test Service"},
  {"upload-json"  , AFB_SESSION_NONE  , GetJsonByPost  ,"Demo for Json Buffer on Post"},
  {"upload-image" , AFB_SESSION_NONE  , UploadImage    ,"Demo for file upload"},
  {"upload-music" , AFB_SESSION_NONE  , UploadMusic    ,"Demo for file upload"},
  {"upload-appli" , AFB_SESSION_NONE  , UploadAppli    ,"Demo for file upload"},
  {NULL}
};

static const struct afb_binding plugin_desc = {
	.type = AFB_BINDING_VERSION_1,
	.v1 = {
		.info = "Sample with Post Upload Files",
		.prefix = "post",
		.verbs = verbs
	}
};

const struct afb_binding *afbBindingV1Register (const struct afb_binding_interface *itf)
{
    return &plugin_desc;
};