cgroup: remove cftype->read(), ->read_map() and ->write()
[platform/adaptation/renesas_rcar/renesas_kernel.git] / include / linux / cgroup.h
index 39c1d94..53e11da 100644 (file)
@@ -29,7 +29,6 @@ struct cgroup_subsys;
 struct inode;
 struct cgroup;
 struct css_id;
-struct eventfd_ctx;
 
 extern int cgroup_init_early(void);
 extern int cgroup_init(void);
@@ -239,10 +238,6 @@ struct cgroup {
        struct rcu_head rcu_head;
        struct work_struct destroy_work;
 
-       /* List of events which userspace want to receive */
-       struct list_head event_list;
-       spinlock_t event_list_lock;
-
        /* directory xattrs */
        struct simple_xattrs xattrs;
 };
@@ -280,6 +275,9 @@ enum {
         * - "tasks" is removed.  Everything should be at process
         *   granularity.  Use "cgroup.procs" instead.
         *
+        * - "cgroup.procs" is not sorted.  pids will be unique unless they
+        *   got recycled inbetween reads.
+        *
         * - "release_agent" and "notify_on_release" are removed.
         *   Replacement notification mechanism will be implemented.
         *
@@ -389,16 +387,6 @@ struct css_set {
 };
 
 /*
- * cgroup_map_cb is an abstract callback API for reporting map-valued
- * control files
- */
-
-struct cgroup_map_cb {
-       int (*fill)(struct cgroup_map_cb *cb, const char *key, u64 value);
-       void *state;
-};
-
-/*
  * struct cftype: handler definitions for cgroup control files
  *
  * When reading/writing to a file:
@@ -446,9 +434,6 @@ struct cftype {
        struct cgroup_subsys *ss;
 
        int (*open)(struct inode *inode, struct file *file);
-       ssize_t (*read)(struct cgroup_subsys_state *css, struct cftype *cft,
-                       struct file *file,
-                       char __user *buf, size_t nbytes, loff_t *ppos);
        /*
         * read_u64() is a shortcut for the common case of returning a
         * single integer. Use it in place of read()
@@ -459,24 +444,12 @@ struct cftype {
         */
        s64 (*read_s64)(struct cgroup_subsys_state *css, struct cftype *cft);
        /*
-        * read_map() is used for defining a map of key/value
-        * pairs. It should call cb->fill(cb, key, value) for each
-        * entry. The key/value pairs (and their ordering) should not
-        * change between reboots.
-        */
-       int (*read_map)(struct cgroup_subsys_state *css, struct cftype *cft,
-                       struct cgroup_map_cb *cb);
-       /*
         * read_seq_string() is used for outputting a simple sequence
         * using seqfile.
         */
        int (*read_seq_string)(struct cgroup_subsys_state *css,
                               struct cftype *cft, struct seq_file *m);
 
-       ssize_t (*write)(struct cgroup_subsys_state *css, struct cftype *cft,
-                        struct file *file,
-                        const char __user *buf, size_t nbytes, loff_t *ppos);
-
        /*
         * write_u64() is a shortcut for the common case of accepting
         * a single integer (as parsed by simple_strtoull) from
@@ -504,27 +477,6 @@ struct cftype {
         * kick type for multiplexing.
         */
        int (*trigger)(struct cgroup_subsys_state *css, unsigned int event);
-
-       int (*release)(struct inode *inode, struct file *file);
-
-       /*
-        * register_event() callback will be used to add new userspace
-        * waiter for changes related to the cftype. Implement it if
-        * you want to provide this functionality. Use eventfd_signal()
-        * on eventfd to send notification to userspace.
-        */
-       int (*register_event)(struct cgroup_subsys_state *css,
-                             struct cftype *cft, struct eventfd_ctx *eventfd,
-                             const char *args);
-       /*
-        * unregister_event() callback will be called when userspace
-        * closes the eventfd or on cgroup removing.
-        * This callback must be implemented, if you want provide
-        * notification functionality.
-        */
-       void (*unregister_event)(struct cgroup_subsys_state *css,
-                                struct cftype *cft,
-                                struct eventfd_ctx *eventfd);
 };
 
 /*